<?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-2663417406024921911</id><updated>2012-02-16T09:31:26.930-08:00</updated><category term='multicasting'/><category term='Etherpad'/><category term='Network'/><category term='Scripting'/><category term='Mail Server'/><category term='SpectraLink8030'/><category term='MySQL'/><category term='802.11'/><category term='NTP'/><category term='Linux'/><category term='Asterisk'/><category term='Remote Support'/><category term='XML'/><category term='NS2'/><category term='Perl'/><category term='Apache'/><category term='Windows'/><category term='Java'/><category term='AIX'/><category term='IPv6 IPv4'/><category term='LDAP'/><title type='text'>Rapid LINUX / UNIX solutions</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>50</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-3611469654346591119</id><published>2012-01-30T11:40:00.000-08:00</published><updated>2012-01-30T12:23:51.138-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='NTP'/><title type='text'>Windows not sycing with NTP server</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="color: #666666; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;i&gt;NTP (Network Time Protocol) is widely used for computer clock synchronization in&amp;nbsp; internet. There are various versions of NTP. Latest version as of Jun 2010 is NTPv4 and is well described in &lt;a href="http://tools.ietf.org/html/rfc5905" target="_blank"&gt;RFC5905&lt;/a&gt;. NTP4 is modified to accommodate IPv6 and other improvement has been done over NTPv4. &lt;/i&gt;&lt;/div&gt;&lt;br /&gt;Are you getting 'Peer Unreachable' when you try to syc with NTP server? &lt;br /&gt;Usually there are various reasons behind the problem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;1. Firewall or port filter :&lt;/b&gt;&lt;/span&gt; Make sure that default &lt;b&gt;UDP port 123&lt;/b&gt; is open. You can test this real quick just by turning off Firewall. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;2. Windows Time Service (w32time) not running on the appropriate mode&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;There are various modes of operation for Windows Time Service as NTP supports several different packet types.&lt;br /&gt;&lt;div style="color: blue;"&gt;&lt;i&gt;&lt;b&gt;Normally NTP client sends '&lt;span style="font-size: large;"&gt;client&lt;/span&gt;' mode request packets to a NTP server&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="color: blue;"&gt;&lt;i&gt;&lt;b&gt;NTP server responds back with '&lt;span style="font-size: large;"&gt;server&lt;/span&gt;' mode packet with timing information&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;By default some windows (esp. XP and earlier) sends '&lt;b style="color: red;"&gt;symmetric active&lt;/b&gt;' mode packet instead of 'client' mode request packets. 'symmetric active' mode packets is for NTP's peering feature where a pool of computers(peers) are configured to sync their clocks among each others to agree upon a common 'network time', which then can be supplied to the client.&lt;br /&gt;&lt;br /&gt;Usually NTP server drops 'symmetric active' mode packets, unless it is told to do so.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Q: How can I switch to 'client' mode of Windows Time Service?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ans: You have to change the Windows registry and it can be done easily via command line&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;w32tm&amp;nbsp; /config&amp;nbsp; /manualpeerlist&lt;/b&gt;&lt;b&gt;:ntp.myserver.com&lt;/b&gt;&lt;b&gt;,0x8&amp;nbsp; /syncfromflags:MANUAL&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Here, ntp.myserver.com is my NTP server&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #666666;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;&lt;a href="http://support.microsoft.com/kb/875424" target="_blank"&gt;http://support.microsoft.com/kb/875424 &lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #666666;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;The valid settings for the mode used with the &lt;b&gt;/manualpeerlist&lt;/b&gt; switch include the following: &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="color: #666666;"&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;0x01 - use special poll interval SpecialInterval &lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;0x02 - UseAsFallbackOnly &lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;0x04 - send request as SymmetricActive mode&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;0x08 - send request as Client mode&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="color: #666666;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;The mode that Windows Time uses to send requests is set by the following registry subkey: &lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="indent" style="color: #666666;"&gt;&lt;div class="reg_path"&gt;&lt;span style="font-size: x-small;"&gt;&lt;i&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;0x8&amp;nbsp; enables 'client' mode for Windows Time Service&lt;br /&gt;syncfromflags:MANUAL&amp;nbsp; forces Windows Time Service to use manualpeerlist for the time query.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Make changes effective immediately &lt;br /&gt;&lt;b&gt;w32tm&amp;nbsp; /config&amp;nbsp; /update &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To resync manually&lt;br /&gt;&lt;b&gt;w32tm /resync &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Additional Tips:&amp;nbsp;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;If you want to sync with time server everyday, you can create a new 'Scheduled Task' under Control Panel --&amp;gt; Scheduled Task to run&amp;nbsp; 'w32tm&amp;nbsp; /resync' everyday at your specified time. &lt;br /&gt;&lt;br /&gt;Good Luck!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-3611469654346591119?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/3611469654346591119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=3611469654346591119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3611469654346591119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3611469654346591119'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2012/01/windows-not-sycing-with-ntp-server.html' title='Windows not sycing with NTP server'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6554652499170539700</id><published>2012-01-20T07:05:00.001-08:00</published><updated>2012-01-20T07:06:55.640-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asterisk'/><category scheme='http://www.blogger.com/atom/ns#' term='802.11'/><category scheme='http://www.blogger.com/atom/ns#' term='SpectraLink8030'/><title type='text'>Integrate Asterisk with SIP enabled Wireless phone: Polycom SpectraLink 8030</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;If you are looking for SIP and 802.11a/b/g compatible wireless phone, SpectraLink 8030 can be one of your choices. &lt;b style="color: blue;"&gt;It is compatible with Asterisk&lt;/b&gt;.&amp;nbsp; It has also Push-To-Talk (PTT) functionality that allows group communication just like Walky Talky. &lt;br /&gt;&lt;br /&gt;Product information of SpectraLink 8030 can be found at&lt;br /&gt;&lt;a href="http://www.polycom.com/products/voice/wireless_solutions/wifi_communications/handsets/spectralink_8030_wireless.html"&gt;http://www.polycom.com/products/voice/wireless_solutions/wifi_communications/handsets/spectralink_8030_wireless.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Software and documents for SpectraLink 8030 can be downloaded from following link from Polycom&lt;br /&gt;&lt;a href="http://support.polycom.com/PolycomService/support/us/support/voice/wi-fi/spectralink_8030_wireless.html" target="_blank"&gt;http://support.polycom.com/PolycomService/support/us/support/voice/wi-fi/spectralink_8030_wireless.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you are using &lt;a href="http://support.polycom.com/PolycomService/support/us/support/voice/wi-fi/view_certified.html" target="_blank"&gt;Polycom SpectraLink VIEW certified Wireless Access Point&lt;/a&gt;, you can call 1-800-Polycom and get the support. If not, there is no luck to get any kind of support from them.&lt;br /&gt;&lt;br /&gt;In my case, we have&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;DHCP , DNS, NTP and TFTP server running on Linux&lt;/li&gt;&lt;li&gt;Xirrus Array - XN4, XN8&amp;nbsp;&amp;nbsp; (Make sure your wireless AP supports WMM- Wi-Fi Multimedia; sometime you might have to upgrade to the latest firmware. Contact your&amp;nbsp; Wireless AP vendor if your AP doesn't have WMM enabled)&lt;/li&gt;&lt;li&gt;Asterisk Server (SIP server + PBX) : IP address 192.168.1.10&lt;/li&gt;&lt;li&gt;SpectraLink 8030 ( one has an extension 2000 and other has an extension 3000)&lt;/li&gt;&lt;li&gt;Voicemail (Extension 2100)&lt;/li&gt;&lt;/ul&gt;In this article, I am not going to show you how to configure DHCP, DNS, NTP, TFTP server. If you need any help, contact your Server Administrator or look for online help.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Step1: Publish the required firmwares and configs to&amp;nbsp; TFTP server&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Download SIP software of SpectraLink 8030 from above &lt;a href="http://www.polycom.com/products/voice/wireless_solutions/wifi_communications/handsets/spectralink_8030_wireless.html" target="_blank"&gt;link&amp;nbsp;&amp;nbsp;&lt;/a&gt;&lt;br /&gt;Unzip it and publish the content to TFTP server&lt;br /&gt;&lt;br /&gt;You will see various .bin files and .cfg files. &lt;br /&gt;&lt;br /&gt;In my case, I have following files&lt;br /&gt;#tftpshare&lt;br /&gt;&amp;nbsp;MIBs&lt;br /&gt;&amp;nbsp;pd14csi.bin&lt;br /&gt;&amp;nbsp;pd14odsi.bin&lt;br /&gt;&amp;nbsp;pd14shim.bin&lt;br /&gt;&amp;nbsp;pd14shsi.bin&lt;br /&gt;&amp;nbsp;pd14udsi.bin&lt;br /&gt;&amp;nbsp;pi1400si.bin&lt;br /&gt;settings.txt&lt;br /&gt;slnk_cfg.cfg&lt;br /&gt;&lt;div style="color: #38761d;"&gt;&lt;b&gt;sip_allusers.cfg&lt;br /&gt;sip_2000.cfg&lt;/b&gt;&lt;/div&gt;&lt;div style="color: #38761d;"&gt;&lt;b&gt;sip_3000.cfg&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;/div&gt;&lt;br /&gt;You don't have to touch .bin files.&amp;nbsp; You don't even have to touch slnk_cfg.cfg file&lt;br /&gt;&lt;br /&gt;All you need to do is edit &lt;b&gt;sip_allusers.cfg &lt;/b&gt;and create the config files for individual extensions (in my case I have two SpectraLink. I want to extensions: 2000 and 3000)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;#vi sip_allusers.cfg&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;#--------Configuration for Asterisk based system-------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;PROXY1_TYPE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = Asterisk&lt;br /&gt;PROXY1_ADDR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 192.168.1.10:5060&amp;nbsp; #IP address of Asterisk Server&lt;br /&gt;PROXY1_KEYPRESS_2833&amp;nbsp;&amp;nbsp; = enable&lt;br /&gt;PROXY1_KEYPRESS_INFO&amp;nbsp;&amp;nbsp; = disable&lt;br /&gt;PROXY1_HOLD_IP0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = disable&lt;br /&gt;PROXY1_PRACK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = enable&lt;br /&gt;PROXY1_REREG_SECS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3600&lt;br /&gt;PROXY1_KEEPALIVE_SECS&amp;nbsp; = 14&lt;br /&gt;PROXY1_CALLID_PER_LINE = disable&lt;br /&gt;PROXY1_MAIL_ACCESS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Create a config file for an extension 2000&lt;br /&gt;&lt;b&gt;#vi sip_2000.cfg&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;LINE1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;LINE1_PROXY&amp;nbsp;&amp;nbsp; = 1&lt;br /&gt;LINE1_CALLID&amp;nbsp; = Spectralink x2000&lt;br /&gt;LINE1_AUTH&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2000; myp@ssw0rd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;#Note- Password follows extension in LINE1_AUTH line&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Similarly create a config file for an extension 3000&lt;br /&gt;&lt;br /&gt;&lt;b&gt;#vi sip_3000.cfg&lt;/b&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;LINE1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;LINE1_PROXY&amp;nbsp;&amp;nbsp; = 1&lt;br /&gt;LINE1_CALLID&amp;nbsp; = Spectralink x3000&lt;br /&gt;LINE1_AUTH&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3000; myp@ssw0rd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;#Note- Password follows extension in LINE1_AUTH line&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Step2: Configure Asterisk Server&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Spectralink 8030 wouldn't register to Asterisk server. I have to go thru' rigorous troubleshooting before I could figure out the fact that SpectraLink 8030's latest SIP software is still based on the original SIP RFC 2543. [ Polycom support didn't want to talk about anything as I wasn't using their VIEW certified AP. ]&lt;br /&gt;&lt;br /&gt;[Please read about fundamental &lt;a href="http://irockasterisk.blogspot.com/2012/01/sip-request-header-file-explained.html" target="_blank"&gt;SIP request header&lt;/a&gt; if you haven't done so far]&lt;br /&gt;&lt;br /&gt;However Asterisk is designed on the basis of latest SIP RFC 3261. Asterisk server drops the REGISTER request coming from SpectraLink 8030 because as per RFC 2543 standard SpectraLink doesn't send tag id in SIP REQUEST FROM header. &lt;br /&gt;&lt;br /&gt;Thus you have to tell Asterisk to ignore the tags in SIP request headers. You can do that by using global option in &lt;b&gt;sip.conf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/blogger.g?blogID=8525701008460862010#editor" id="bugnotes" name="bugnotes"&gt;Asterisk 1.8 has pedantic=yes by default&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;;pedantic=yes                   ; Enable checking of tags in headers,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; international character conversions in URIs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; and multiline formatted headers for strict&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;; SIP compatibility (defaults to "yes")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;You have to use&amp;nbsp;&amp;nbsp; &lt;b&gt;pedantic=no&amp;nbsp; &lt;/b&gt;for SpectraLink 8030 to work with Asterisk &lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;b&gt;#vi sip.conf&lt;/b&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: x-small;"&gt;[general]&lt;/span&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;bindport=5060&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;bindaddr=192.168.1.10&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;canreinvite=no&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;dtmfmode=auto&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;b&gt;pedantic=no&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;[2000]&lt;br /&gt;type=friend&lt;br /&gt;host=dynamic&lt;br /&gt;context=YourContextinDialplan&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: x-small;"&gt;username=2000&lt;br /&gt;callerid="Dave One" &amp;lt;2000&amp;gt;&lt;br /&gt;secret=myp@ssw0rd&lt;br /&gt;mailbox=2000&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;[3000]&lt;br /&gt;type=friend&lt;br /&gt;host=dynamic&lt;br /&gt;context=YourContextinDialplan&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: black;"&gt;username=3000&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;callerid="John One" &amp;lt;3000&amp;gt;&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;secret=myp@ssw0rd&lt;/span&gt;&lt;br style="color: black;" /&gt;&lt;span style="color: black;"&gt;mailbox=3000&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div style="color: red;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Step3: Configure AP&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;Different APs have different tools for wireless configuration. Make sure you are using 802.11a/b/g wireless APs. AP must be configured as WMM-PowerSave. Please go thru' the product guide that came along with your AP to enable WMM-PowerSave.&lt;br /&gt;&lt;br /&gt;Create a SSID for your voice network. [You many not want to broadcast this SSID to minimize easy access to SSID by intruders]&lt;br /&gt;&lt;br /&gt;You can use any kind of encryption you want to. I prefer WPA2 as it uses Pre-Shared Key(PSK) and it allows user to manually enter keys to initiate WPA security. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Example:&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;SSID: spectralinknetwork&lt;br /&gt;WPA2 passphrase: myp@ssword&lt;br /&gt;&lt;br /&gt;Make sure various Radio bands are available&amp;nbsp; for use. I have enabled a/g band and I am going to use '802.11a standard'&amp;nbsp; for my SpectraLink phones.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div style="color: #666666;"&gt;&lt;i&gt;&lt;b&gt;BONUS INFORMATION: Brief introduction on various wireless standards: &lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;ul style="color: #666666; text-align: left;"&gt;&lt;li&gt;802.11a standard operates in 5GHz band with maximum data rate of 54Mbps. It's range is lower than the range of 802.11b but offers higher number of channels and also higher data rate.&lt;/li&gt;&lt;li&gt;802.11b standard operates in 2.4GHz band with maximum data rate of 11Mbps. It's range is higher range than 802.11a but it suffers interference from other devices like Bluetooth, cordless telephonesc etc operating at 2.4 GHz. Data rate offered is less than 802.11a.&lt;/li&gt;&lt;li&gt;802.11g standard operates in 2.4GHz just like 802.11b, but operates at maximum data rate of 54Mbps.&amp;nbsp;&lt;/li&gt;&lt;li&gt;802.11n standard operates in 5GHz and/or 2.4GHz using MIMO technology.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Step4: Use SIP HAT&lt;/b&gt;&lt;/span&gt;(Handset Administration Tool) provided by Polycom to configure the initial configuration for SpectraLink 8030. You can download SIP HAT from above provided &lt;a href="http://support.polycom.com/PolycomService/support/us/support/voice/wi-fi/spectralink_8030_wireless.html%20" target="_blank"&gt;link&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" height="640" src="data:image/png;base64,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" width="534" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Network Configuration of SpectraLink via SIP HAT Tool&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Enable DHCP&lt;/li&gt;&lt;li&gt;Use SSID:spectralinknetwork&amp;nbsp; and WPA2 passphrase: myp@ssword and click on 'Generate PSK from Passphrase + SSID' button&lt;/li&gt;&lt;li&gt;Use QoS Type 'Wi-Fi Standard'&lt;/li&gt;&lt;li&gt;Admission Control: Optional&lt;/li&gt;&lt;li&gt;802.11 Config: a&lt;/li&gt;&lt;li&gt;Enable the bands you want to use&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" height="640" src="data:image/png;base64,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" width="534" /&gt;&lt;br /&gt;SIP configuration and others via SIP HAT Tool &lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Change the TimeZone as required&lt;/li&gt;&lt;li&gt;Enter the SIP username: 3000 and password: myp@ssword&lt;/li&gt;&lt;/ul&gt;Follow the procedure as per instructed by SIP HAT Software to write the settings to SpectraLink 8030 handset. It might prompt for the password before you can write the settings to the handset. Default password is '123456'. &lt;i&gt;&lt;b&gt;Ignore any minor errors while writing the settings to handset&lt;/b&gt;&lt;/i&gt; as handset will download the latest firmware from your TFTP server anyway. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&amp;nbsp;Step5: Powercycle the handset.&lt;/b&gt;&lt;/span&gt; If your ducks are in row, it will work without hassle. If come across any issues, follow the &lt;a href="http://support.polycom.com/global/documents/support/setup_maintenance/products/voice/SpectraLink_8020_8030_WT_Admin_SIP.pdf" lang="" title="/templatedata/automated/resource_documents_support/data/voice/setup_maintenance/SpectraLink_8020_8030_WT_Admin_SIP"&gt;SpectraLink 8020/8030 Wireless Telephone  Administration Guide for SIP&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;i style="color: #666666;"&gt;SpectraLink 8030 displays Startup Sequence: 1 thru' 9.&amp;nbsp; Let's say your handset is stuck at '1234567', it means it has successfully gone thru '8' and '9', but it is stuck at '7'. If you look on the administrative guide, '1234567' means DHCP response with bad DNS server configuration. So, you have to fix possible DNS/DHCP server issue. &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you need further help, you can email me at erdevendra@gmail.com or simply post the comment. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6554652499170539700?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6554652499170539700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6554652499170539700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6554652499170539700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6554652499170539700'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2012/01/integrate-asterisk-with-sip-enabled.html' title='Integrate Asterisk with SIP enabled Wireless phone: Polycom SpectraLink 8030'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-7723895816058463979</id><published>2011-12-20T20:21:00.000-08:00</published><updated>2011-12-20T20:23:06.627-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multicasting'/><category scheme='http://www.blogger.com/atom/ns#' term='NS2'/><title type='text'>NS2 simulation for PIM-SM multicasting</title><content type='html'>&lt;span style="font-family:webdings;"&gt;I am going to show you how to perform traditional PIM-SM simulation in NS2. For those who doesn't know PIM-SM (Protocol Independent Multicast - Sparse Mode) check the &lt;/span&gt;&lt;a style="font-family: webdings;" href="http://tools.ietf.org/html/rfc4601"&gt;RFC 4601 &lt;/a&gt;&lt;span style="font-family:webdings;"&gt;. &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Definitions extracted from RFCs:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:webdings;"&gt;PIM-DM (RFC3973) is a multicast routing protocol that uses the underlying unicast routing information base to flood multicast datagrams to all multicast routers.  Prune messages are used to prevent future messages from propagating to routers without group membership information.&lt;/span&gt;&lt;span style="font-family:webdings;"&gt;&lt;br /&gt;&lt;br /&gt;PIM-SM (RFC4601) is a multicast routing protocol that can use the underlying unicast routing information base or a separate multicast-capable routing information base.  It builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and optionally creates shortest-path trees per source.&lt;/span&gt;&lt;span style="font-family:monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In simple language, &lt;style type="text/css"&gt; &lt;!--   @page { margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;&lt;/style&gt;&lt;span style="background: #ffffff"&gt;PIM-DM uses a push model to flood multicast traffic to every corner of the network. This process is considered to be very “heavy”, since it floods its message to all sub-networks. In PIM-SM environments only sub-networks that have active receivers that have explicitly requested the data will be forwarded the multicast traffic. PIM-SM introduces the concept of Rendezvous Point (RP). The RP it is a appointed router where all the multicast messages flow and from witch it forward through the multipoint tree.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt; &lt;!--   @page { margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;&lt;/style&gt;The Network Simulator2 (NS-2) is the most &lt;span style="background: #ffffff"&gt;popular &lt;/span&gt;simulator &lt;span style="background: #ffffff"&gt;in the scientific field and in the great telecommunications companies, allowing the creation of any network topology and analyze any kind of protocol.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SIMULATION SCENARIO:&lt;/span&gt;&lt;br /&gt;&lt;style type="text/css"&gt; &lt;!--   @page { margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;p style="margin-bottom: 0in" align="JUSTIFY"&gt;This simulation simulates PIM-SM environment based IP infrastructure with one multicast source, one group address and two nodes joining the group. Node0 thru Node7 are all routers. Source1 is attached to Router0. Receiver1 and Receiver2 are attached to Router6 and Router7 respectively. Router1 is defined as Rendezvous Point (RP).&lt;br /&gt;&lt;/p&gt;&lt;span style="background: #ffffff"&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="JUSTIFY"&gt; &lt;/p&gt;  &lt;p style="margin-bottom: 0in; color: rgb(153, 0, 0);" align="JUSTIFY"&gt;&lt;span style="background: #ffffff"&gt;Source1 starts at 0.5 sec&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(153, 0, 0);" align="JUSTIFY"&gt;&lt;span style="background: #ffffff"&gt;Receiver1 joins the group at 1.0 sec&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(153, 0, 0);" align="JUSTIFY"&gt;&lt;span style="background: #ffffff"&gt;Receiver2 joins the group at 1.5 sec&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(153, 0, 0);" align="JUSTIFY"&gt;&lt;span style="background: #ffffff"&gt;Receiver1 leaves the group at 6.0 sec&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(153, 0, 0);" align="JUSTIFY"&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"&gt;Receiver2 leaves the group at  6.5 sec&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; color: rgb(153, 0, 0);" align="JUSTIFY"&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"&gt;Source1 stops at 9.5 sec&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in" align="JUSTIFY"&gt;&lt;span style="background: #ffffff"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;br /&gt;Network Topology for multicast simulation&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;File: mulicast.tcl&lt;br /&gt;&lt;style type="text/css"&gt; &lt;!--   @page { margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="JUSTIFY"&gt;&lt;span style="background: #ffffff"&gt;#//////////////////CODE STARTS HERE/////////////////////////////////&lt;/span&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;#Create an event scheduler wit multicast turned on&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set ns [new Simulator -multicast on]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;#$ns multicast&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;#Turn on Tracing&lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set tf [open output.tr w]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns trace-all $tf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Turn on nam Tracing&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set fd [open mcast.nam w]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns namtrace-all $fd&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Create nodes&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n0 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n1 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n2 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n3 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n4 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n5 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n6 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set n7 [$ns node]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Create links&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n0 $n1 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n1 $n2 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n2 $n3 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n3 $n4 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n1 $n4 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n3 $n5 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n5 $n6 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns duplex-link $n5 $n7 1.5Mb 10ms DropTail&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Allocate group addresses&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set group1 [Node allocaddr]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set group2 [Node allocaddr]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Routing protocol: PIM-SM&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns mrtproto BST&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;BST set RP_($group1) $n1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# UDP Transport agent for the traffic source&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set udp0 [new Agent/UDP]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns attach-agent $n0 $udp0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$udp0 set dst_addr_ $group1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$udp0 set dst_port_ 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set cbr1 [new Application/Traffic/CBR]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$cbr1 set packetSize_ 210 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$cbr1 set rate_ 1000k&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$cbr1 attach-agent $udp0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Create receiver&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;set rcvr1 [new Agent/Null]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns attach-agent $n6 $rcvr1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;set rcvr2 [new Agent/Null]&lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns attach-agent $n7 $rcvr2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns at 1.0 "$n6 join-group $rcvr1 $group1"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns at 1.5 "$n7 join-group $rcvr2 $group1"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt;$ns at 6.0 "$n6 leave-group $rcvr1 $group1"&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns at 6.5 "$n7 leave-group $rcvr2 $group1"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Schedule events&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns at 0.5 "$cbr1 start"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns at 9.5 "$cbr1 stop"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;#post-processing&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns at 10.0 "finish"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;proc finish {} {&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;global ns tf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns flush-trace&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;close $tf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;exec nam mcast.nam &amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;exit 0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# For nam&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;#Colors for packets from mcast packets&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;$ns color 10 red   &lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;        #udp0 traffic has flow ID 10&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;# Group 0 source&lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$udp0 set fid_ 10&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$n0 color red&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$n0 label "Source 1"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$n6 label "Receiver 1"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$n6 color blue&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$n7 label "Receiver 2"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$n7 color blue&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="LEFT"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;# Animation rate&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns set-animation-rate 3.0ms&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in" align="LEFT"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Helvetica, Arial, sans-serif;"&gt;&lt;span style="font-size:100%;"&gt;$ns run&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 153, 0);" align="JUSTIFY"&gt;&lt;span style="background: none repeat scroll 0% 0% rgb(255, 255, 255);"&gt;#//////////////////CODE ENDS HERE/////////////////////////////////&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in" align="JUSTIFY"&gt;&lt;span style="background: #ffffff"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="JUSTIFY"&gt;Make sure that you make your .tcl file executable&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="JUSTIFY"&gt;#chmod 700 multicast.tcl&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="JUSTIFY"&gt;Execute the .tcl file as&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="JUSTIFY"&gt;#ns multicast.tcl&lt;/p&gt;&lt;p style="margin-bottom: 0in" align="JUSTIFY"&gt;&lt;br /&gt;&lt;/p&gt; If you run into any issues, refer to &lt;a href="http://isi.edu/nsnam/ns/ns-documentation.html"&gt;NS2 documentation&lt;/a&gt;. It's really nice documentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-7723895816058463979?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/7723895816058463979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=7723895816058463979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7723895816058463979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7723895816058463979'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/12/ns2-simulation-for-pim-sm-multicasting.html' title='NS2 simulation for PIM-SM multicasting'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6201945326377316486</id><published>2011-12-01T12:56:00.000-08:00</published><updated>2011-12-08T15:35:03.457-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>Apache2.2: Defining Virtual Hosts, Re-direction and LDAP authentication uncovered</title><content type='html'>I usually put references at the bottom of the article. But this time I want to put it in the beginning of the article. If you are Apache beginner, trust me you want to go through these references before you start doing anything.&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;Apache Directives: &lt;a href="http://httpd.apache.org/docs/2.2/mod/directive-dict.html#Context"&gt;http://httpd.apache.org/docs/2.2/mod/directive-dict.html#Context&lt;/a&gt;&lt;br /&gt;Name-Based Virtual Hosts: &lt;a href="http://httpd.apache.org/docs/2.2/vhosts/name-based.html"&gt;http://httpd.apache.org/docs/2.2/vhosts/name-based.html&lt;/a&gt;&lt;br /&gt;LDAP directory for authentication: &lt;a href="http://httpd.apache.org/docs/2.3/mod/mod_authnz_ldap.html"&gt;http://httpd.apache.org/docs/2.3/mod/mod_authnz_ldap.html&lt;/a&gt;&lt;br /&gt;LDAP and Active Directory Terminologies: &lt;a href="http://rapidtechguide.blogspot.com/2011/07/directories-terminology-active.html"&gt;http://rapidtechguide.blogspot.com/2011/07/directories-terminology-active.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Practice Scenario:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Windows Server&lt;br /&gt;Web Server: Apache2.2&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IP add: 192.168.1.10&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Port: 80&lt;/span&gt;&lt;br /&gt;Websites hosted:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-style: italic;"&gt; www1.test.org&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span style="font-style: italic;"&gt; www.mytest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; www.urtest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; www.ourtest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; www.everyonetest.org &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; www.lovetest.org&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Before you start testing your apache setup make sure that DNS is configured properly, hosts file is configured properly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STEP1:&lt;/span&gt;&lt;br /&gt;File: &lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;C:\Windows\System32\drivers\etc\hosts&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-size:85%;" &gt;&lt;span style="font-style: italic;"&gt;192.168.1.10    www1.test.org&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-size:85%;" &gt;&lt;span style="font-style: italic;"&gt;192.168.1.10    www.mytest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;192.168.1.10    www.urtest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;192.168.1.10     www.ourtest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;192.168.1.10     www.everyonetest.org &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;192.168.1.10     www.lovetest.org&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#everyonetest.org and lovetest.org are alias of ourtest.org&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STEP2:&lt;/span&gt;&lt;br /&gt;Configure DNS server to point those domains 'mytest.org, urtest.org, ourtest.org,everyonetest.org,lovetest.org' to 192.168.1.10. You can contact your DNS administrator&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STEP3:&lt;/span&gt;&lt;br /&gt;Say Apache2.2 is installed in C: drive&lt;br /&gt;C:\apache&lt;br /&gt;&lt;br /&gt;and you are publishing your web contents at C:\website&lt;br /&gt;C:\website\mytest&lt;br /&gt;C:\website\urtest&lt;br /&gt;C:\website\ourtest&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;STEP4:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-size:130%;" &gt;C:\apache\conf\httpd.conf&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:130%;" &gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;# Change this to Listen on specific IP addresses as shown below to&lt;br /&gt;# prevent Apache from glomming onto all bound IP addresses.&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Listen 192.168.1.10:80&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#uncomment these for LDAP authentication support&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;LoadModule authnz_ldap_module modules/mod_authnz_ldap.so&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;LoadModule ldap_module modules/mod_ldap.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ServerName  www1.test.org&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# DirectoryIndex: sets the file that Apache will serve if a directory&lt;br /&gt;# is requested.&lt;br /&gt;#&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;IfModule dir_module&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;    DirectoryIndex index.htm index.html index.shtml index.html.var index.php index.pl default.html default.htm&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#Set LogLevel to debug if you are configuring Apache for first time so that you can collect enough logging information for troubleshooting purpose&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;LogLevel debug&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;IfModule mime_module&amp;gt;&lt;/span&gt;&lt;br /&gt;#Uncomment this line to have shtml MIME support&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AddType text/html .shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# Uncomment following line to add Virtual hosts in different file&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Include conf/extra/httpd-vhosts.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-size:100%;" &gt;STEP5:&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;C:\conf\extra\httpd-vhosts.conf&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="color: rgb(0, 0, 0);font-size:130%;" &gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# Use name-based virtual hosting.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;NameVirtualHost 192.168.1.10:80&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="color: rgb(51, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;#Regular Virtual Host Configuration Example&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;# WWW.MYTEST.ORG BEGIN&lt;br /&gt;# mytest.org is published at C:/website/mytest&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;VirtualHost 192.168.1.10:80&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ServerName www.mytest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   DocumentRoot C:/website/mytest&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &amp;lt;Directory C:/website/mytest&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      AllowOverride None&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      Order deny,allow&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;      Allow from all&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ErrorLog "logs/www.mytest.org-error.log"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;    CustomLog "logs/www.mytest.org-access.log" common&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ErrorDocument 401 /unauth.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ErrorDocument 403 /forbid.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ErrorDocument 404 /notfound.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ErrorDocument 500 /error.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# WWW.MYTEST.ORG END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);font-size:85%;" &gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;#Re-Direction Configuration Example&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-size:85%;" &gt;&lt;span style="font-style: italic;"&gt;# WWW.URTEST.ORG BEGIN&lt;br /&gt;# urtest.org is simply re-directed to www.wikipedia.org&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;VirtualHost 192.168.1.10:80&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        ServerName www.urtest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        Redirect permanent / https://www.wikipedia.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# WWW.URTEST.ORG END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;#LDAP Authentication Configuration Example&lt;/span&gt;&lt;br /&gt;# WWW.OURTEST.ORG BEGIN&lt;br /&gt;# ourtest.org is published at C:/website/ourtest&lt;br /&gt;# LDAP authentication is required to access the conents of C:/website/ourtest&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;VirtualHost 192.168.1.10:80&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ServerName www.ourtest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ServerAlias everyonetest.org  lovetest.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   DocumentRoot C:/website/mytest&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &amp;lt;Directory C:/website/mytest&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AllowOverride None&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        Order deny,allow&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        Allow from all&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AuthType Basic     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AuthBasicProvider ldap&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AuthzLDAPAuthoritative on&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;AuthLDAPBindDN "cn=ldapuser,ou=\"Super Accounts\",DC=ad,DC=test,DC=org"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AuthLDAPBindPassword ipassword&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AuthName "Only for registered users"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        AuthLDAPURL "ldap://ldap.test.org:389/ou=students,ou=toefl,dc=ad,dc=test,dc=org?name"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;        require valid-user&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   &amp;lt;/Directory&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;    ErrorLog "logs/www.mytest.org-error.log"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;    CustomLog "logs/www.mytest.org-access.log" common&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;  ErrorDocument 401 /unauth.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ErrorDocument 403 /forbid.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ErrorDocument 404 /notfound.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;   ErrorDocument 500 /error.shtml&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# WWW.OURTEST.ORG END&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Some other tips:&lt;/span&gt;&lt;br /&gt;I would prefer to use Internet Explorer(IE) for testing webpages as lots of users are using IE. In IE  go to Tools--&amp;gt; Internet Options and Check 'Delete Browsing History on  Exit".  Sometimes Internet Browser displays webpages from it's temp files, so  even if your apache/web server is stopped you might see webpages working (I have seen it and it took me quite a time to get around with it). Or sometimes if you make some content changes,  your browser may not reflect those changes. So, while perfoming apache  setup and testing 'Delete Browsing History' really helps. Close the browser. Re-open the browser and see if you got ur desired output.&lt;br /&gt;Sometime you might have to flush local DNS cache. If you have to you can use following command&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;&amp;gt; ipconfig /flushdns&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Good Luck!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Additional References:&lt;br /&gt;&lt;a href="http://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html"&gt;http://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6201945326377316486?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6201945326377316486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6201945326377316486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6201945326377316486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6201945326377316486'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/12/apache22-define-virtual-hosts-re.html' title='Apache2.2: Defining Virtual Hosts, Re-direction and LDAP authentication uncovered'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-467329513548525567</id><published>2011-11-22T12:42:00.000-08:00</published><updated>2011-11-22T13:11:50.176-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Write Startup scripts in Linux Environment?</title><content type='html'>Explanation is based on SLES (SUSE Enterprise Linux). It could be related to other distributions of Linux as well.&lt;br /&gt;There are various situations where you write your own script and want it to run at system startup. In Linux  environment you  have to place your script in /etc/init.d  and use  'insserv' command or 'chkconfig' config to insert those script in various runlevels.&lt;br /&gt;&lt;br /&gt;[By default, insserv insert the script in runlevel 3 and 5. You can check that by running #chkconfig --list  ]&lt;br /&gt;&lt;br /&gt;Let's say I want to run 'asterisk' program automatically at startup and I want to make sure that it starts only when all the services of OS are up.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;'which' command returns me the location of the program or application#which asterisk&lt;/li&gt;&lt;/ul&gt;/usr/bin/asterisk&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a script file  in /etc/init.d directory&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;#vi /etc/init.d/asteriskStartupScript&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;#!/bin/bash&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;#Copyright (c) 2011 DShah&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# All rights reserved&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;#&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;#Author: DShah, 2011&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# /etc/init.d/asterisk&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;#&lt;/span&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;PLEASE READ  /etc/init.d/skeleton to understand various parameters in startup scripts&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;font-size:85%;" &gt;#&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;### BEGIN INIT INFO&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# Provides:    asterisk&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# Required-Start: $ALL&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# Required-Stop:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# Default-Start: 3 5&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# Default-Stop: 0 1 2 6&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;# Short-Description: Starts Asterisk&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;### END INIT INFO&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;#Start service&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;font-size:85%;" &gt;/usr/sbin/asterisk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Save and close the script file.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;'chmod' command can be use to add executable permission&lt;/li&gt;&lt;/ul&gt;#chmod 744 /etc/init.d/aseriskStartupScript&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;'insserv' command can be used to insert the script in desired runlevel as specified in script file&lt;/li&gt;&lt;/ul&gt;#insserv asteriskStartupScript&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;'chkconfig' command can be used to check if the script will run in next startup&lt;/li&gt;&lt;/ul&gt;#chkconfig --list asteriskStartupScript&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reference:&lt;/span&gt;&lt;a href="http://www.novell.com/coolsolutions/feature/15380.html"&gt;&lt;br /&gt;http://www.novell.com/coolsolutions/feature/15380.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-467329513548525567?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/467329513548525567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=467329513548525567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/467329513548525567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/467329513548525567'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/11/write-startup-scripts-in-linux.html' title='Write Startup scripts in Linux Environment?'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-7732475231418348599</id><published>2011-10-14T06:21:00.000-07:00</published><updated>2012-02-09T20:41:09.403-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>PERL scripting: Export data from MySQL database in XML format</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I have a MySQL database containing all the data but the application I am trying to use only supports XML. How can I export data from MySQL database in XML format?&lt;a href="http://1.bp.blogspot.com/--8Tw81aJjrs/TphDLcftRZI/AAAAAAAAAgs/zn_susTv62Q/s1600/xml_output.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Here is your answer. You need to select a programming language that support MySQL connection and does pretty good string manipulation. I found PERL programming very easy and powerful doing both MySQL connection and String Manipulation.&lt;br /&gt;&lt;br /&gt;Assumptions: I will be running my PERL script on the same server with MySQL database. MySQL Username and Password are 'username' and 'password' respectively. Database name is 'phonesDB' and table name is 'phones'.&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" style="width: 308px;"&gt;&lt;colgroup&gt;&lt;col style="mso-width-alt: 3437; mso-width-source: userset; width: 71pt;" width="94"&gt;&lt;/col&gt;  &lt;col style="mso-width-alt: 4315; mso-width-source: userset; width: 89pt;" width="118"&gt;&lt;/col&gt;  &lt;col style="mso-width-alt: 3510; mso-width-source: userset; width: 72pt;" width="96"&gt;&lt;/col&gt;  &lt;/colgroup&gt;&lt;tbody&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="height: 15.0pt; width: 71pt;" width="94"&gt;MySQL&lt;/td&gt;   &lt;td style="width: 89pt;" width="118"&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td style="width: 72pt;" width="96"&gt;&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="height: 15.0pt;"&gt;Database:&lt;/td&gt;   &lt;td&gt;phonesDB&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="height: 15.0pt;"&gt;Table:&lt;/td&gt;   &lt;td&gt;phones&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="height: 15.0pt;"&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;br /&gt;&lt;/td&gt;  &lt;/tr&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 700; height: 15.0pt; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;full_name&lt;/td&gt;   &lt;td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 700; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;phone_number&lt;/td&gt;   &lt;td style="border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: .5pt solid black; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 700; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;department&lt;/td&gt;  &lt;/tr&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="background: #D9D9D9; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; height: 15.0pt; mso-pattern: #D9D9D9 none; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;Peter   Griffin&lt;/td&gt;   &lt;td class="xl65" style="background: #D9D9D9; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; mso-pattern: #D9D9D9 none; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;25962&lt;/td&gt;   &lt;td style="background: #D9D9D9; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; mso-pattern: #D9D9D9 none; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;Technology&lt;/td&gt;  &lt;/tr&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; height: 15.0pt; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;Stewie Griffin&lt;/td&gt;   &lt;td class="xl65" style="color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;25963&lt;/td&gt;   &lt;td style="color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;Finance&lt;/td&gt;  &lt;/tr&gt;&lt;tr height="20" style="height: 15.0pt;"&gt;   &lt;td height="20" style="background: #D9D9D9; border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: none; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; height: 15.0pt; mso-pattern: #D9D9D9 none; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;Sam Burns&lt;/td&gt;   &lt;td class="xl65" style="background: #D9D9D9; border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: none; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; mso-pattern: #D9D9D9 none; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;25234&lt;/td&gt;   &lt;td style="background: #D9D9D9; border-bottom: .5pt solid black; border-left: none; border-right: none; border-top: none; color: black; font-family: Calibri; font-size: 11.0pt; font-weight: 400; mso-pattern: #D9D9D9 none; text-decoration: none; text-line-through: none; text-underline-style: none;"&gt;HR&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;You should have some basic  concept of XML, MySQL and  PERL programming knowledge.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[Note: Make sure that you have  perl-DBD-mysql, perl-DBI and perl installed. If those package are missing, you can use YaST, YUM, ZYPPER, APT-GET to install those missing packages based on your distro.]&lt;br /&gt;&lt;br /&gt;Let's write the PERL script that will access our MySQL database and generate XML file for us.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#vi myPerlscript.pl&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;#!/usr/bin/perl&lt;br /&gt;use strict;&lt;br /&gt;use DBI;&lt;br /&gt;use DBD::mysql;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;#connect to the database phonesDB using login credentials&lt;/span&gt;&lt;br /&gt;my $dbh = DBI-&amp;gt;connect("DBI:mysql:phonesDB","username","password",{RaiseError =&amp;gt; 1, PrintError =&amp;gt; 0});&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;#run the SELECT query&lt;/span&gt;&lt;br /&gt;my $sth = $dbh-&amp;gt;prepare("SELECT full_name,phone_number,department FROM phones");&lt;br /&gt;$sth-&amp;gt;execute();&lt;br /&gt;&lt;br /&gt;print "&amp;lt;?xml version=\"1.0\" encoding=\"utf-8\"?&amp;gt;\n";&lt;br /&gt;print "&amp;lt;directory&amp;gt;\n";&lt;br /&gt;print " &amp;lt;local&amp;gt;true&amp;lt;/local&amp;gt;\n";&lt;br /&gt;print " &amp;lt;sorted&amp;gt;true&amp;lt;/sorted&amp;gt;\n";&lt;br /&gt;print " &amp;lt;name&amp;gt;Company_Name&amp;lt;/name&amp;gt;\n";&lt;br /&gt;while (my ($full_name,$phone_number,$department) = $sth-&amp;gt;fetchrow_array ())&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;print " &amp;lt;user&amp;gt;\n";&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;#Using string manipulation techniques available in PERL scripting&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;#Extract first and last name from full name&lt;br /&gt;#index() function returns the occurrence of $myspace in $full_name&lt;br /&gt;#substr() function allows to copy part of a string from another by specifying beginning position and the length of string&lt;/span&gt;       my $myspace =" ";&lt;br /&gt;my $myindex =index($full_name,$myspace);&lt;br /&gt;my $last_name=substr($full_name,$myindex+1);&lt;br /&gt;my $first_name=substr($full_name,0,$myindex);&lt;br /&gt;&lt;br /&gt;print "  &amp;lt;name&amp;gt;$last_name, $first_name&amp;lt;/name&amp;gt;\n";&lt;br /&gt;print "  &amp;lt;company&amp;gt;$site_name&amp;lt;/company&amp;gt;\n";&lt;br /&gt;print "  &amp;lt;contact&amp;gt;\n";&lt;br /&gt;print "    &amp;lt;type&amp;gt;phone&amp;lt;/type&amp;gt;\n";&lt;br /&gt;print "    &amp;lt;uri&amp;gt;sip:$phone_number&amp;lt;/uri&amp;gt;\n";&lt;br /&gt;print "  &amp;lt;/contact&amp;gt;\n";&lt;br /&gt;print " &amp;lt;/user&amp;gt;\n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;#Disconnect the database connection&lt;/span&gt;&lt;br /&gt;$dbh-&amp;gt;disconnect ();&lt;br /&gt;print "&amp;lt;/directory&amp;gt;\n";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let's make the script executable&lt;br /&gt;#chmod u+w myPerlscript.pl&lt;br /&gt;&lt;br /&gt;Now run the script, you will get output in XML format&lt;br /&gt;#./myPerlscript.pl&lt;br /&gt;&lt;br /&gt;If you want to save the output of the script to the file,&lt;br /&gt;#./myPerlscript.pl &amp;gt; myXMLfile.xml&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/--8Tw81aJjrs/TphDLcftRZI/AAAAAAAAAgs/zn_susTv62Q/s1600/xml_output.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5663350395325203858" src="http://1.bp.blogspot.com/--8Tw81aJjrs/TphDLcftRZI/AAAAAAAAAgs/zn_susTv62Q/s400/xml_output.JPG" style="cursor: hand; cursor: pointer; display: block; height: 338px; margin: 0px auto 10px; text-align: center; width: 258px;" /&gt;&lt;/a&gt;&lt;br /&gt;References:&lt;br /&gt;&lt;a href="http://www.kitebird.com/articles/mysql-xml.html"&gt;MySQL connection using PERL&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.purdue.edu/homes/cs290w/perlLecs/PerlString.html"&gt;String Manipulation using PERL&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-7732475231418348599?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/7732475231418348599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=7732475231418348599' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7732475231418348599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7732475231418348599'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/10/perl-scripting-export-data-from-mysql.html' title='PERL scripting: Export data from MySQL database in XML format'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/--8Tw81aJjrs/TphDLcftRZI/AAAAAAAAAgs/zn_susTv62Q/s72-c/xml_output.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-9130417824696245685</id><published>2011-10-10T18:52:00.000-07:00</published><updated>2011-11-22T13:10:28.942-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Configured server with multiple NICs on different subnet. Can't PING  IP add on second NIC? Here's the solution</title><content type='html'>Let's say we have a network problem as shown below (User can't access 10.1.1.10 from the workstation. User fails to ping 10.1.1.10 from workstation):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-27Rn2lQtaKI/TpNlXEG-aII/AAAAAAAAAgY/e79B2TCXgZc/s1600/Routing.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 284px;" src="http://4.bp.blogspot.com/-27Rn2lQtaKI/TpNlXEG-aII/AAAAAAAAAgY/e79B2TCXgZc/s400/Routing.jpg" alt="" id="BLOGGER_PHOTO_ID_5661980603449239682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Note: In Linux, usually NIC1 is presented as eth0 and NIC2 is presented as eth1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to fix the problem associated with accessing 10.1.1.10 from workstation?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You must &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;configure multiple default routes&lt;/span&gt; in the server.&lt;br /&gt;You can possibly achieve this in different ways, however I prefer the use of IP ROUTE and IP RULES. It's easy to implement and understand.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: Create a new policy routing table&lt;/span&gt;&lt;br /&gt;&lt;code style="font-family: courier new;"&gt;# echo "1 TenNetwork" &amp;gt;&amp;gt; /etc/iproute2/rt_tables&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Routing tables are declared in rt_tables. Here we declared TenNetwork table as we are going to write a set of rules associated with 10 network. You can give it any name you want.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step2: Define routes in the table&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#ip route add &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;10.1.0.0&lt;/span&gt;/16 dev eth1 src &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;10.1.1.10&lt;/span&gt; table &lt;/span&gt;&lt;code style="font-family: courier new;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#ip route add default via &lt;span style="font-weight: bold; color: rgb(153, 51, 153);"&gt;10.1.1.1&lt;/span&gt; dev eth1 table &lt;/span&gt;&lt;code style="font-family: courier new;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Here we simply declared that NIC2(eth1) is associated with &lt;span style=" font-weight: bold; color: rgb(255, 0, 0);font-family:courier new;" &gt;10.1.0.0&lt;/span&gt; subnet and it's IP address is &lt;span style=" font-weight: bold; color: rgb(0, 0, 153);font-family:courier new;" &gt;10.1.1.10&lt;/span&gt;. We also defined the default route via &lt;span style="font-weight: bold;  color: rgb(102, 0, 204);font-family:courier new;" &gt;10.1.1.1&lt;/span&gt; on eth1 interface. (This is second default route. The first one is defined in 'main' routing table and the default route is via 192.168.2.1 on eth0 interface. OS automatically picks the first default route from eth0. You can check that by executing #ip rule show  or  #netstat -anr command)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#ip rule show&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since we haven't defined any rule associated with TenNetwork table yet, we can't see TenNetwork table in the rules.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step3: Define the rules associated with TenNetwork&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;table&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#ip rule add from 10.1.1.10/32 table &lt;/span&gt;&lt;code style="font-family: courier new;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#ip rule add to 10.1.1.10/32 table &lt;/span&gt;&lt;code style="font-family: courier new;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Here we are defining a rule that says, if any packet is FROM/TO  to 10.1.1.10, lookup the TenNetwork table.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#ip rule show&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#netstat -anr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you can see the active routing rules associated with TenNetwork table as well.&lt;br /&gt;&lt;br /&gt;You should be able to ping 10.1.1.10 from workstation now. (However I can't guarantee). If you are lucky, it will work like charm. If you are more lucky, you will discover more on routing and fix the problem by yourself.  Good Luck!!!&lt;br /&gt;&lt;br /&gt;Run WireShark on the server before and after applying the rule. You can visualize the problem and see how the problem is resolved. I love WireShark. I think people can find and fix more then 90% network problems using WireShark.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Warning!!!! :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Restarting the server will loose the configuration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Restarting the network will loose the configuration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's solve the problem associated with restarting the server. We will write startup script.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#vi /etc/init.d/TenNetwork&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;#Copyright (c) 2011 DShah&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# All rights reserved&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;#Author: DShah, 2011&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# /etc/init.d/TenNetwork&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;#PLEASE READ  /etc/init.d/skeleton to understand various parameters in startup scripts&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;### BEGIN INIT INFO&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# Provides: TenNetwork&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# Required-Start: $network&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# Required-Stop:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# Default-Start: 3 5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# Default-Stop: 0 1 2 6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;# Short-Description: Fixes 10 Network routing issue&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;### END INIT INFO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;$logFile=/var/log/ten-network-log&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;font-family:courier new;" &gt;ip route add &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;10.1.0.0&lt;/span&gt;/16 dev eth1 src &lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;10.1.1.10&lt;/span&gt; table &lt;/span&gt;&lt;code style="font-family: courier new; color: rgb(0, 153, 0); font-style: italic;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;font-family:courier new;" &gt;ip route add default via &lt;span style="font-weight: bold; color: rgb(153, 51, 153);"&gt;10.1.1.1&lt;/span&gt; dev eth1 table &lt;/span&gt;&lt;code style="font-family: courier new; color: rgb(0, 153, 0); font-style: italic;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;ip route show 2&amp;gt;&amp;amp;1  &amp;gt;&amp;gt; $logFile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;font-family:courier new;" &gt;ip rule add from 10.1.1.10/32 table &lt;/span&gt;&lt;code style="font-family: courier new; color: rgb(0, 153, 0); font-style: italic;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;font-family:courier new;" &gt;ip rule add to 10.1.1.10/32 table &lt;/span&gt;&lt;code style="font-family: courier new; color: rgb(0, 153, 0); font-style: italic;"&gt;TenNetwork&lt;/code&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;ip rule show 2&amp;gt;&amp;amp;1 &amp;gt;&amp;gt; $logFile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;ip route show 2&amp;gt;&amp;amp;1 &amp;gt;&amp;gt; $logFile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Save and close the file&lt;br /&gt;&lt;br /&gt;#chmod 700 /etc/init.d/TenNetwork&lt;br /&gt;&lt;br /&gt;'insserv' command can be used to insert the script in desired runlevel as specified in script file&lt;br /&gt;# insserv TenNetwork&lt;br /&gt;&lt;br /&gt;You can go to /etc/init.d/rc3.d and /etc/init.d/rc5.d  and look the startup order of TenNetwork.&lt;br /&gt;&lt;br /&gt;Restart your server and see if it is working as you expected.&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;a href="http://www.policyrouting.org/PolicyRoutingBook/ONLINE/TOC.html"&gt;http://www.policyrouting.org/PolicyRoutingBook/ONLINE/TOC.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-9130417824696245685?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/9130417824696245685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=9130417824696245685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/9130417824696245685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/9130417824696245685'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/10/configured-server-with-multiple-nics-on.html' title='Configured server with multiple NICs on different subnet. Can&apos;t PING  IP add on second NIC? Here&apos;s the solution'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-27Rn2lQtaKI/TpNlXEG-aII/AAAAAAAAAgY/e79B2TCXgZc/s72-c/Routing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6270021495541888093</id><published>2011-09-27T13:53:00.000-07:00</published><updated>2011-09-27T14:05:30.279-07:00</updated><title type='text'>How to install flash player for firefox/mozilla in Linux (CentOS, RedHat, SuSE, SLES etc)</title><content type='html'>Just installed linux and can't play YOUTUBE or other flash based programs...... No more scratching heads.&lt;br /&gt;Go to adobe website to download the flashplayer: &lt;a href="http://get.adobe.com/flashplayer/"&gt;http://get.adobe.com/flashplayer/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Download the appropriate file based on your OS. (32-bit or 64-bit linux).&lt;br /&gt;&lt;br /&gt;I would recommend you to download  &lt;span style="font-weight: bold;"&gt;.tar.gz&lt;/span&gt; file of the flashplayer.&lt;br /&gt;&lt;br /&gt;Once the file is downloaded, you simply need to extract it. Extract is within the folder.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;#mkdir myFlashdir&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;#cd myFlashdir&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;copy flashplayer.tar.gz in this folder&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;#tar xvzf flashplayer.tar.gz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now you will see libflashplyer.so  plugin-file for mozilla. You simply need to copy this file to&lt;br /&gt;&lt;br /&gt;/usr/lib64/mozilla/plugins   ==&amp;gt; If your linux is 64-bit&lt;br /&gt;&lt;br /&gt;/usr/lib/mozilla/plugins   ==&amp;gt; If your linux is 32-bit&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;#cp libflasplayer.so   /usr/lib64/mozilla/plugins&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You are done. Now have fun with you Youtube or other flash programs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can check the plugins installed by typing following in the URL field.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;about:plugins&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6270021495541888093?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6270021495541888093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6270021495541888093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6270021495541888093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6270021495541888093'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/09/how-to-install-flas-plugin-for.html' title='How to install flash player for firefox/mozilla in Linux (CentOS, RedHat, SuSE, SLES etc)'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6911363994298566214</id><published>2011-07-27T09:49:00.001-07:00</published><updated>2011-08-05T06:02:46.726-07:00</updated><title type='text'>Dell Latitude + Linux : Easy to solve the problem with Wireless setup</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Step 1:&lt;/span&gt; Download the linux based driver for your NIC card in your Dell Latitude laptop. My laptop has Broadcom Wireless controller. You can check yours by running the command&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#lspci |grep -i 802.11&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mine is: Network controller: Broadcom Corporation BCM4321 802.11a/b/g/n (rev 03)&lt;br /&gt;Luckily I found the driver at &lt;a href="http://www.broadcom.com/support/802.11/linux_sta.php"&gt;Broadcom&lt;/a&gt; website.&lt;br /&gt;&lt;br /&gt;Check if your system has 32-bit Linux or 64-bit Linux and download the appropriate driver. You can check that via&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#uname -a&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mine is 64-bit SUSE Linux: Linux devsuse 2.6.32.12-0.7-default #1 SMP 2010-05-20 11:14:20 +0200 &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;x86_64&lt;/span&gt; x86_64 x86_64 GNU/Linux&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step2:&lt;/span&gt; Follow README.txt for that driver. It has clear instruction.&lt;br /&gt;&lt;br /&gt;[extract from README.txt]&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;br /&gt;# lsmod  | grep "b43\|ssb\|wl"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If any of these are installed, remove them:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# rmmod b43&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# rmmod ssb&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# rmmod wl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To blacklist these drivers and prevent them from&lt;br /&gt;loading in the future:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# echo "blacklist ssb" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# echo "blacklist b43" &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;gt;&amp;gt;1. Unzip, build and install the driver&lt;br /&gt;Setup the directory by untarring the proper tarball:&lt;br /&gt;&lt;br /&gt;For 32 bit:  hybrid-portsrc_x86-32_v5.100.82.38.tar.gz&lt;br /&gt;For 64 bit:  hybrid-portsrc_x86-64_v5.100.82.38.tar.gz&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# mkdir hybrid_wl&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# cd hybrid_wl&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# tar xzf &lt;path&gt;/hybrid-portsrc_x86-32_v5.100.82.38.tar.gz&lt;/path&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Build the driver as a Linux loadable kernel module (LKM):&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# make clean   (optional)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# make&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When the build completes, it will produce a wl.ko file in the top level&lt;br /&gt;directory.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;gt;&amp;gt;2: Insmod the driver.&lt;br /&gt;&lt;br /&gt;Otherwise, if you have not previously installed a wl driver, you'll need&lt;br /&gt;to add a security module before using the wl module.  Most newer systems&lt;br /&gt;use lib80211 while others use ieee80211_crypt_tkip. See which one works for&lt;br /&gt;your system.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# modprobe lib80211 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;  or &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# modprobe ieee80211_crypt_tkip&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# insmod wl.ko&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;wl.ko is now operational.  It may take several seconds for the Network&lt;br /&gt;Manager to notice a new network driver has been installed and show the&lt;br /&gt;surrounding wireless networks.&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;Step3&lt;/span&gt;. Check if you can see the wireless card detected.&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#ifconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#iwconfig&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;or Go to yast2 --&amp;gt; Network Devices --&amp;gt; Network Settings --&amp;gt; Overview&lt;br /&gt;You should see your wireless network card listed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step4&lt;/span&gt;: Configure your wireless as you do with your regular wireless setup. Good Luck!!!&lt;br /&gt;(You can refer to &lt;a href="http://www.novell.com/documentation/sles11/book_sle_admin/?page=/documentation/sles11/book_sle_admin/data/cha_wireless_wlan.html"&gt;Novell Documentation&lt;/a&gt; if you need any help to configure your Wireless network)&lt;br /&gt;&lt;br /&gt;If your internet/network connectivity doesn't wok, check if the routing table is good.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#route -n&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can define the default route for 0.0.0.0 (any) through your wireless interface ( in my case it's eth1). For that you can go to  YAST2--&amp;gt;Network Devices--&amp;gt;Network Settings--&amp;gt;Routing&lt;br /&gt;&lt;br /&gt;Also make sure that you have DNS servers defined. If not, you can go to YAST2 --&amp;gt;Network Devices--&amp;gt;Network Settings--&amp;gt;Hostname/DNS&lt;br /&gt;or you can also edit /etc/resolv.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE: Upgrading the kernel and drivers requires removing ssb, b43 and adding them to the blacklist again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6911363994298566214?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6911363994298566214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6911363994298566214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6911363994298566214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6911363994298566214'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/07/dell-latitude-linux-easy-to-solve.html' title='Dell Latitude + Linux : Easy to solve the problem with Wireless setup'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-2648663095698199481</id><published>2011-07-06T08:25:00.000-07:00</published><updated>2011-12-01T16:38:11.253-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LDAP'/><title type='text'>Directories Terminology: Active Directory, eDirectory, Lotus Domino Directory</title><content type='html'>LDAP is very often used to access the directories. Directory could be Active Directory, eDirectory/Novell NDS, Lotus Domino Directory and more.&lt;br /&gt;There are too many acronyms like DN, DC, OU, CN, GPO and they are easy to understand&lt;br /&gt;&lt;br /&gt;AD: Active Directory&lt;br /&gt;DN : Distinguished Name&lt;br /&gt;DC:  Domain Controller/Component&lt;br /&gt;OU: Organizational Unit&lt;br /&gt;CN: Common Name&lt;br /&gt;GPO: Group Policy&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-ngekE6MOY4s/ThSBrWZ7hVI/AAAAAAAAAe8/6yxaPJoGryw/s1600/ad.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 239px;" src="http://3.bp.blogspot.com/-ngekE6MOY4s/ThSBrWZ7hVI/AAAAAAAAAe8/6yxaPJoGryw/s400/ad.JPG" alt="" id="BLOGGER_PHOTO_ID_5626264416241288530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fig. Organization tree structure depicted by AD heirarchy&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;In Active Directory , eDirectory or any LDAP compliant directory , &lt;span style="font-weight: bold;"&gt;objects are referred to by Distinguished Name (DN) &lt;/span&gt;. The parts of a distinguished name, delimited by commas, represent where in AD hierarchy the object exists.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Monikers in a DN are:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;CN  Common Name&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0); font-weight: bold;"&gt;  cn=Joe Dirt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;OU Organization Uni&lt;/span&gt;t&lt;span style="color: rgb(153, 0, 0);"&gt;  &lt;span style="font-weight: bold;"&gt;ou=Staff&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DC Domain Controller/Component&lt;/span&gt; &lt;span style="font-style: italic; color: rgb(153, 0, 0); font-weight: bold;"&gt; dc=UPS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;An example of the Distinguished Name of a user object could be:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(153, 0, 0);"&gt;cn=Joe Dirt, ou=Staff, ou=Finance, ou=Dept, ou=UPS, dc=ad, dc=ups, dc=com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this case, the object with Common Name 'Joe Dirt' is in the Organizational Unit 'Staff', which in turn is in the Organizational Unit  'Finance', which in turn is in the Organizational Unit 'Dept', which in turn is in Organization Unit 'UPS', which is in the domain 'ad.ups.com'.&lt;br /&gt;&lt;br /&gt;You can use various free LDAP browsers like &lt;a href="http://www.ldapbrowser.com/download.htm"&gt;Softerra&lt;/a&gt; , &lt;a href="http://jxplorer.org/"&gt;JXplorer&lt;/a&gt; to browse directories.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;More examples to clarify the concept: &lt;/span&gt;&lt;br /&gt;If you want to refer to all the objects under UPS Organizational Unit/Container, you should use &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;BASE DN:&lt;/span&gt;  &lt;span style="font-weight: bold; font-style: italic; color: rgb(153, 0, 0);"&gt;ou=UPS, dc=ad, dc=ups, dc=com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want to refer to all the objects under Finance Organizational  Unit/Container, you should use&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;BASE DN:&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0); font-weight: bold; font-style: italic;"&gt;  ou=Finance, ou=Dept, ou=UPS, dc=ad, dc=ups, dc=com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you want to login as Joe Dirt to make LDAP query, you should use following DN&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;USER DN:&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(153, 0, 0);"&gt; cn=Joe Dirt, ou=Staff, ou=Finance, ou=Dept, ou=UPS, dc=ad, dc=ups, dc=com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;CN is used for the default system based containers. OU is also used for containers. One major difference between a CN container and a OU container is that GPOs can be applied only to OUs, not to CNs.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;Reference: wiki, forums and various text books&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-2648663095698199481?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/2648663095698199481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=2648663095698199481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/2648663095698199481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/2648663095698199481'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/07/directories-terminology-active.html' title='Directories Terminology: Active Directory, eDirectory, Lotus Domino Directory'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ngekE6MOY4s/ThSBrWZ7hVI/AAAAAAAAAe8/6yxaPJoGryw/s72-c/ad.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-1230713364459246347</id><published>2011-06-05T15:55:00.000-07:00</published><updated>2011-10-11T12:04:55.633-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IPv6 IPv4'/><title type='text'>DHCP  IPv4 vs IPv6 : Basic concept</title><content type='html'>Most of us are familiar with DHCP (Dynamic Host Configuration Protocol). We use it all the time to get an IP address and network configurations for our devices like laptop, computers, handheld IP devices, IP TV and more... It makes our life easy as we don't have to manually define the IP address for our system and we also don't have to worry about IP address duplication problem. DHCP takes care all of those for us.&lt;br /&gt;&lt;br /&gt;We all know that IPv6 is drilling  our internet world and it's going to replace IPv4. There is going to be revolution. DHCP is one of those areas. Architecture of DHCPv4 (IPv4 system) and DHCPv6 (IPv6) are totally different. I will try my best to explain the differences in very easy language.&lt;br /&gt;&lt;br /&gt;1. In IPv4 systems, hosts send broadcast traffic requesting an IP address in hope to get reply from the DHCP server, thus network doesn't know how far to send the request.&lt;br /&gt;&lt;br /&gt;But all IPv6 systems support multicasting and DHCPv6 servers are ready to receive DHCPv6 multicast packets. Thus network knows where to send the DHCP requests from clients. (FF02::1:2   is a link-scoped multicast address used by a client to communicate with neighboring i.e on-link, relay agents and server. All servers and relay agents are members of this multicast group)&lt;br /&gt;&lt;br /&gt;[Wireshark capture for DHCPv6:  notice a link-scoped multicast address. I intentionally hid my link-local address(IPv6) of my laptop which acts as IPv6 host ]&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-KRxs6qBqSqM/TewZqz6iKNI/AAAAAAAAAes/TCwm8QfbA1U/s1600/Screen%2Bshot%2B2011-06-05%2Bat%2B7.04.51%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 37px;" src="http://4.bp.blogspot.com/-KRxs6qBqSqM/TewZqz6iKNI/AAAAAAAAAes/TCwm8QfbA1U/s400/Screen%2Bshot%2B2011-06-05%2Bat%2B7.04.51%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5614891058705082578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. In IPv4 systems, clients doesn't have any valid IP address to start with. It uses 0.0.0.0 as it's initial IP address and sends request (requesting IP address and network configuration ) broadcast traffic to 255.255.255.255 in hope to get response from DHCP servers.&lt;br /&gt;&lt;br /&gt;(Here is the complete DHCPv4 request-reply messaging in IPv4 environment: captured by wireshark using filter BOOTP. DHCPv4 uses BOOTP)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-bWZ9GqraqVU/TexEkoMWCNI/AAAAAAAAAe0/E1aTSK1h4BI/s1600/Screen%2Bshot%2B2011-06-05%2Bat%2B10.09.05%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 79px;" src="http://3.bp.blogspot.com/-bWZ9GqraqVU/TexEkoMWCNI/AAAAAAAAAe0/E1aTSK1h4BI/s400/Screen%2Bshot%2B2011-06-05%2Bat%2B10.09.05%2BPM.png" alt="" id="BLOGGER_PHOTO_ID_5614938231479339218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-AvWM2heHpJo/TewVjBbl9JI/AAAAAAAAAeU/TA4k3bzBDfI/s1600/Screen%2Bshot%2B2011-06-05%2Bat%2B6.47.34%2BPM.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;In IPv6 systems, each hosts have valid link-local address that can be used to send traffic on the link it is connected to, thus makes it possible to send request to DHCP server for REAL address.&lt;br /&gt;&lt;br /&gt;There are more to talk... But I have to watch NBA finals: MAVS vs Heat.  :D&lt;br /&gt;I will keep on updating this article.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;&lt;a href="http://www.ietf.org/rfc/rfc3315.txt"&gt;http://www.ietf.org/rfc/rfc3315.txt&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.isc.org/community/blog/201104/isc-dhcp-and-ipv6-dhcpv6-story"&gt;http://www.isc.org/community/blog/201104/isc-dhcp-and-ipv6-dhcpv6-story&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration"&gt;http://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-1230713364459246347?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/1230713364459246347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=1230713364459246347' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/1230713364459246347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/1230713364459246347'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/06/dhcp-ipv4-vs-ipv6-basic-concept.html' title='DHCP  IPv4 vs IPv6 : Basic concept'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-KRxs6qBqSqM/TewZqz6iKNI/AAAAAAAAAes/TCwm8QfbA1U/s72-c/Screen%2Bshot%2B2011-06-05%2Bat%2B7.04.51%2BPM.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-5602137827583290128</id><published>2011-05-25T06:51:00.000-07:00</published><updated>2011-10-11T11:42:02.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Centralized LogServer in SuSE Linux</title><content type='html'>LogServer: ServerA [IP address: 192.168.1.5]&lt;br /&gt;NetworkServers: ServerB, ServerC... and more&lt;br /&gt;&lt;br /&gt;ServerB-------send log files-----&amp;gt; ServerA[LogServer] &amp;lt;-----------send log files---- ServerC&lt;br /&gt;&lt;br /&gt;Here we want ServerB, Server C  to send it's log file to ServerA for centralized access of log files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Daemon:&lt;/span&gt; syslog-ng&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Files: &lt;/span&gt;&lt;br /&gt;/etc/sysconfig/syslog&lt;br /&gt;/etc/syslog-ng/syslog-ng.conf&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Commands:&lt;/span&gt;&lt;br /&gt;/etc/init.d/syslog  start|restart|stop&lt;br /&gt;&lt;br /&gt;ps aux|grep syslog   --&amp;gt; to see if syslog-ng is running or not&lt;br /&gt;&lt;br /&gt;SuSEconfig --module syslog-ng   --&amp;gt; to reload the change done on /etc/syslog-ng/syslog-ng.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configure LogServer i.e ServerA to accept the log files from NetworkServers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit /etc/syslog-ng/syslog-ng.conf on ServerA(Log Server)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;source&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;src&lt;/span&gt;&lt;/span&gt; {&lt;br /&gt;#&lt;br /&gt;# include internal syslog-ng messages&lt;br /&gt;# note: the internal() soure is required!&lt;br /&gt;#&lt;br /&gt;internal();&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# the default log socket for local logging:&lt;br /&gt;#&lt;br /&gt;unix-dgram("/dev/log");&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# uncomment to process log messages from network:&lt;br /&gt;#&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt; udp(ip("0.0.0.0") port(514));&lt;/span&gt;    &lt;br /&gt;#I uncommented above line telling ServerA  to accept the log files from network&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;At the bottom of this file, I defined the destination and log&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#Added by DShah 05/25/11&lt;br /&gt;#&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;destination&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;std&lt;/span&gt; { file("/var/log/HOSTS/$YEAR-$MONTH/$HOST/$FACILITY-$YEAR-$MONTH-$DAY" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;log&lt;/span&gt; {  &lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;source&lt;/span&gt;(&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;src&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;destination&lt;/span&gt;(&lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;std&lt;/span&gt;);&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Over here I am telling ServerA to process the log files coming source src to destination std.&lt;br /&gt;Destination std tells ServerA to save log messages from each host in a separate directory called &lt;span style="font-family:Courier;"&gt;/var/log/HOSTS/YEAR-MONTH/hostname/&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Now run the command&lt;br /&gt;#SuSEconfig --module syslog-ng     --&amp;gt; to reload the config changes done&lt;br /&gt;&lt;br /&gt;#/etc/init.d/syslog restart OR&lt;br /&gt;#syslog-ng restart&lt;br /&gt;&lt;br /&gt;#ps aux|grep syslog  --&amp;gt; to check if syslog-ng is running&lt;br /&gt;&lt;br /&gt;If you need to kill syslog-ng process for any reason, you can simply run the command&lt;br /&gt;&lt;br /&gt;#killall syslog-ng&lt;br /&gt;or&lt;br /&gt;#kill -9  [PID-of-syslog-ng]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configure NetworkServers (Server B, ServerC... ) to send log files to LogServer(ServerA):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit /etc/syslog-ng/syslog-ng.conf  or /etc/syslog-ng/syslog-ng.conf.in (preffered) on ServerB, ServerC&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#Added by DShah 05/25/2011&lt;br /&gt;#&lt;br /&gt;destination logserver {&lt;br /&gt;udp("192.168.1.5" port(514));&lt;br /&gt;#Note: here 192.168.1.5 is an IP add of LogServer i.e ServerA&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;log {&lt;br /&gt;source(src);&lt;br /&gt;destination(logserver);&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Now run the command&lt;br /&gt;#SuSEconfig --module syslog-ng     --&amp;gt; to reload the config changes done&lt;br /&gt;&lt;br /&gt;#/etc/init.d/syslog restart OR&lt;br /&gt;#syslog-ng restart&lt;br /&gt;&lt;br /&gt;#ps aux|grep syslog  --&amp;gt; to check if syslog-ng is running&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ServerA should be already collecting the log files. You can go to /var/log/HOSTS directory on ServerA to see the log files from different Network Servers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Illustration by Additional applications:&lt;/span&gt;&lt;br /&gt;Let's say I want remote asterisk server to dump it's log file /var/log/asterisk/full in the centralized log server&lt;br /&gt;Edit /etc/syslog-ng/syslog-ng.conf  or /etc/syslog-ng/syslog-ng.conf.in (preffered) on remote Asterisk Server&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Added by DShah&lt;br /&gt;#&lt;br /&gt;source asterisklog { &lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;pipe&lt;/span&gt;("/var/log/asterisk/full");&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;destination logserver { udp("192.168.1.5" port(514));&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;log { source(asterisklog); destination(logserver); };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and run the command&lt;br /&gt;&lt;br /&gt;#syslog-ng restart&lt;br /&gt;&lt;br /&gt;Now please check  /var/log/HOSTS , you should see log file from asterisk server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you need any help on Linux/Unix systems, you can email me at erdevendra@gmail.com with subject title rapidtechguide.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;For more info:  &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.novell.com/coolsolutions/feature/18044.html"&gt;http://www.novell.com/coolsolutions/feature/18044.html&lt;/a&gt;&lt;br /&gt;20 minutes video on syslog-ns : &lt;a href="http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/overview#"&gt;http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/overview#&lt;/a&gt;&lt;br /&gt;Syslog-ns to collect apache logs: &lt;a href="http://peter.blogs.balabit.com/2010/02/how-to-collect-apache-logs-by-syslog-ng/"&gt;http://peter.blogs.balabit.com/2010/02/how-to-collect-apache-logs-by-syslog-ng/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-5602137827583290128?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/5602137827583290128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=5602137827583290128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5602137827583290128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5602137827583290128'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/05/centralized-logserver-in-suse-linux.html' title='Centralized LogServer in SuSE Linux'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-1012688899202359244</id><published>2011-04-04T23:50:00.000-07:00</published><updated>2011-10-11T11:45:23.512-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Remote Support'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>SCREEN command: Handy tool for multi-screen session and remote interaction</title><content type='html'>Screen is the Multi-Screen utility that allows the users to access the multiple screen in single SSH session that allows user to do different tasks on different screens. User doesn't require to open multiple SSH session. However, you need to learn some keyboard short-cuts.&lt;br /&gt;&lt;br /&gt;How to start Screen?&lt;br /&gt;# screen -S  mySessionName&lt;br /&gt;&lt;br /&gt;e.g screen -S rapidlinux&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Common screen commands&lt;/h3&gt;  &lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;screen command&lt;/td&gt; &lt;td&gt;Task&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a c&lt;/td&gt; &lt;td&gt;Create new window&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a k&lt;/td&gt; &lt;td&gt;Kill the current window / session&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a w&lt;/td&gt; &lt;td&gt;List all windows&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a 0-9 &lt;/td&gt; &lt;td&gt;Go to a window numbered 0 9, use Ctrl+a w to see number&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a Ctrl+a &lt;/td&gt; &lt;td&gt;Toggle / switch between the current and previous window &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a S&lt;/td&gt; &lt;td&gt;Split terminal horizontally into regions and press Ctrl+a c to create new window there&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a :resize&lt;/td&gt; &lt;td&gt;Resize region&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a :fit&lt;/td&gt; &lt;td&gt;Fit screen size to new terminal size. You can also hit &lt;b&gt;Ctrl+a F&lt;/b&gt; for the the same task&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a :remove&lt;/td&gt; &lt;td&gt;Remove / delete region. You can also hit &lt;b&gt;Ctrl+a X&lt;/b&gt; for the same taks&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a tab&lt;/td&gt; &lt;td&gt;Move to next region&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt; Ctrl+a D (Shift-d)&lt;/td&gt; &lt;td&gt;Power detach and logout&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl+a d  &lt;/td&gt; &lt;td&gt;Detach but keep shell window open&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl-a Ctrl-\  &lt;/td&gt; &lt;td&gt;Quit screen &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Ctrl-a ? &lt;/td&gt; &lt;td&gt;Display help screen i.e. display a list of commands&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Play with above listed commands. Once you are comfortable with those commands, let's learn one more thing: REMOTE INTERACTION&lt;br /&gt;&lt;br /&gt;Scenario: Let's say you SSHed into your client's machine. Your client want to see what commands you are running. You can do that via SCREEN  :)&lt;br /&gt;&lt;br /&gt;1. SSH into client's machine with your support user ID on client's machine.&lt;br /&gt;e.g #ssh  rapidsupport@client.machine&lt;br /&gt;&lt;br /&gt;2. Run Screen command with session name&lt;br /&gt;e.g #screen -S rapidsupportSession&lt;br /&gt;&lt;br /&gt;3. You have to allow multiple user access in screen session. So, Press Ctrl + a  followed by :multiuser on&lt;br /&gt;&lt;br /&gt;4. You have to grant permission to client to access your screen session. So, Press Ctrl + a followed by :acladd clientname  where clientname is the client's user ID&lt;br /&gt;&lt;br /&gt;5. Now client can connect to your screen session using  the command syntax  #screen -x username/session&lt;br /&gt;&lt;br /&gt;e.g #screen -x clientname/rapidsupportSession&lt;br /&gt;&lt;br /&gt;6. Now your screen is shared with your client.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Done!!!!&lt;br /&gt;&lt;br /&gt;Let's say ur client's machine is behind NAT (i.e client's machine doesn't have public IP ) and you want to provide remote support to your client. Your workstation should have public IP address to support it as ur client.&lt;br /&gt;&lt;br /&gt;We can use Reverse SSH to achieve that.&lt;br /&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:donotoptimizeforbrowser/&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoPlainText"&gt;To permit you to access your client's machine through Reverse SSH (Secure Shell protocol), client should execute the following command as root user (superuser) on his machine:&lt;/p&gt;&lt;p class="MsoPlainText"&gt;Example:&lt;br /&gt;&lt;/p&gt;  &lt;p style="font-weight: bold; color: rgb(0, 102, 0);" class="MsoPlainText"&gt; #ssh -fN -R 5099:localhost:22  rapidsupport@public-ip-address-of-rapidsupport -p 443&lt;/p&gt;&lt;p class="MsoPlainText"&gt;where, rapidsupport is an user id on your workstation&lt;br /&gt;&lt;/p&gt;  &lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:donotoptimizeforbrowser/&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style="font-family:lucida grande;font-size:130%;"&gt;&lt;span style=" ;font-family:trebuchet ms;font-size:100%;"  &gt;If successful, this command will set up an SSH tunnel between client's machine and rapidsupport's workstation, and will display a new command-line prompt on your server.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;w:donotoptimizeforbrowser/&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoPlainText"&gt;Note:&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;This method of connecting is called "reverse" SSH because the connection is initiated from client's machine, not from rapidsupport.&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoPlainText"&gt;Now, rapidsupport can SSH in client's machine using credential of client's machine.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoPlainText"&gt;&lt;span style="color: rgb(0, 102, 0); font-weight: bold;"&gt;#ssh localhost -p 5099 &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;For more:&lt;br /&gt;&lt;br /&gt;http://www.linux.com/archive/feed/56443&lt;br /&gt;http://www.cyberciti.biz/tips/linux-screen-command-howto.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-1012688899202359244?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/1012688899202359244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=1012688899202359244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/1012688899202359244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/1012688899202359244'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/04/screen-command-handy-tool-for-multi.html' title='SCREEN command: Handy tool for multi-screen session and remote interaction'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-162970486604493312</id><published>2011-03-08T21:23:00.000-08:00</published><updated>2011-10-11T11:44:39.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><title type='text'>VLAN : 5 mintue reading to get the core concept of  VLAN implementation</title><content type='html'>VLAN (Virtual LAN) is the logical technique that enables hosts across various LANs to communicate with each other as if they are on same LAN/wire.&lt;br /&gt;&lt;br /&gt;VLAN splits the broadcast domain as host on one VLAN can't talk with host on another VLAN without the help of Layer 3 device.&lt;br /&gt;&lt;br /&gt;There are two types of the switch port operation mode:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Trunk Mode&lt;/span&gt;: Allows multiple VLAN ID to pass through; &lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;Usually FastEthernet 0/24 port or GigabitEthernet port for inter-switch link.&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt; Multiple switches are interconnected via link connected to the port in Trunk mode.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Access Mode&lt;/span&gt;: Allows only one VLAN ID; Hosts are connected to the ports defined as Access mode. &lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;By default all ports on the switch are in Access Mode.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Let's see how to define VLAN, add interface/switch ports to VLAN and define TRUNK port&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[ In this example we have FinanceDept and HumanResourceDept and we want to separate them using VLAN]&lt;br /&gt;&lt;br /&gt;&amp;gt;en&lt;br /&gt;Switch#config term&lt;br /&gt;Switch#hostname Switch1&lt;br /&gt;&lt;br /&gt;Switch1-config# vlan 2&lt;br /&gt;Switch1-config-vlan#name HumanResourceDept&lt;br /&gt;&lt;br /&gt;Switch1-config-vlan#vlan 3&lt;br /&gt;Switch1-config-vlan#name FinanceDept&lt;br /&gt;&lt;br /&gt;Switch1-config-vlan#exit&lt;br /&gt;Switch1-config#exit&lt;br /&gt;&lt;br /&gt;Switch1#show vlan&lt;br /&gt;(Find which ports are being used by HumanResourceDept hosts and FinanceDept hosts; say F0/1,F0/2 are being used by HumanResourceDept hosts and F0/3 and F0/4 are being used by FinanceDept hosts)&lt;br /&gt;&lt;br /&gt;Switch1#config term&lt;br /&gt;Switch1-config#int F0/1&lt;br /&gt;Switch1-config-if#switchport access vlan 2&lt;br /&gt;Switch1-config-if#int F0/2&lt;br /&gt;Swtich1-config-if#switchport access vlan 2&lt;br /&gt;&lt;br /&gt;Switch1-config#int F0/3&lt;br /&gt;Switch1-config-if#switchport access vlan 3&lt;br /&gt;Switch1-config-if#int F0/4&lt;br /&gt;Swtich1-config-if#switchport access vlan 3&lt;br /&gt;&lt;br /&gt;Switch1-config-if# [press Ctrl + z]&lt;br /&gt;Switch1#&lt;br /&gt;&lt;br /&gt;Now check, if  F0/1 and F0/2 are assigned to VLAN 2 , similarly check if F0/3 and F0/4 are assigned to VLAN 3&lt;br /&gt;&lt;br /&gt;Switch1#show vlan&lt;br /&gt;&lt;br /&gt;Now, hosts belonging to HumanResourceDept connected to Port F0/1 and F0/2 should be able to talk to each other. Perfom ping test.&lt;br /&gt;Similarly do the test with FinanceDept hosts&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;VERY VERY IMPORTANT CONCEPTS:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;&amp;gt;&amp;gt; Hosts on same vlan *must* has same subnet number&lt;/span&gt;. For example HumanResourceDept hosts should be under same subnet  e.g 192.168.1.0/24   like Host1 IP: 192.168.1.2/24  Host2 IP: 192.168.1.3/24&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;&amp;gt;&amp;gt; Layer 3 device is required to establish communication between different VLANs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, lets define Trunk port on Switch1 so that we can interconnect it to another switch Switch2.&lt;br /&gt;&lt;br /&gt;Switch1#config term&lt;br /&gt;Switch1-config#int F0/24&lt;br /&gt;Switch1-config-if#switchport mode trunk&lt;br /&gt;&lt;br /&gt;Switch1-config-if# [Press Ctrl + z]&lt;br /&gt;&lt;br /&gt;Switch1#show interface trunk&lt;br /&gt;&lt;br /&gt;[This will show that F0/24 passes all the VLAN from one switch to another switch. Thus TRUNK mode is only enabled on FastEthernet port and GigabitEthernet port as it requires high bandwidth to pass all VLAN]&lt;br /&gt;&lt;br /&gt;Do the same on Switch2&lt;br /&gt;&lt;br /&gt;Switch&amp;gt;en&lt;br /&gt;Switch#hostname Switch2&lt;br /&gt;&lt;br /&gt;Switch2#config term&lt;br /&gt;Switch2-config#int F0/24&lt;br /&gt;Switch2-config-if#switchport mode trunk&lt;br /&gt;&lt;br /&gt;Switch2-config-if# [Press Ctrl + z]&lt;br /&gt;&lt;br /&gt;Switch2#show interface trunk&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let's say there is one host of FinanceDept plugged in on port F0/10 of switch2. For the hosts of FinanceDept on switch1 to talk with host on switch2, you have to define VLAN on switch2 and add the desired access port (here in our example: it's port F0/10 on that vlan 3).&lt;br /&gt;&lt;br /&gt;Switch2#config term&lt;br /&gt;Switch2-config#int F0/10&lt;br /&gt;Switch2-config-if#switchport access vlan 3&lt;br /&gt;&lt;br /&gt;Now, perform ping test between hosts of FinanceDept plugged in to Switch1 and Switch2. [ Friendly reminder: Hosts on same vlan should have same subnet number.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-162970486604493312?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/162970486604493312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=162970486604493312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/162970486604493312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/162970486604493312'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/03/vlan-5-mintue-reading-to-get-core.html' title='VLAN : 5 mintue reading to get the core concept of  VLAN implementation'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-3929220625901259311</id><published>2011-02-14T08:44:00.000-08:00</published><updated>2011-10-11T11:44:23.705-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><title type='text'>Console Port Connection in Cisco Routers</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;a name="wp1024750"&gt;&lt;/a&gt;The router has an EIA/TIA-232 asynchronous serial console port (RJ-45).  Depending on the cable and the adapter used, this port appears as a DTE  or DCE device at the end of the cable.   &lt;a name="wp1033025"&gt;&lt;/a&gt;&lt;p class="pB1_Body1"&gt; For connection to a PC running terminal emulation software e.g HyperTerminal in Windows machine, router is provided with an RJ-45 to DB-9 adapter cable (blue cable).  &lt;/p&gt; &lt;a name="wp1029059"&gt;&lt;/a&gt; &lt;a name="wp1029065"&gt;&lt;/a&gt;&lt;p class="pB1_Body1"&gt; The default parameters for the console port are &lt;span style="font-weight: bold;"&gt;9600 baud, 8 data bits, 1  stop bit, and no parity&lt;/span&gt;. The console port does not support hardware  flow control.&lt;br /&gt;&lt;/p&gt;&lt;p class="pB1_Body1"&gt;For general overview of Hardware installation and Software configuration, please go thru' following links:&lt;/p&gt;&lt;p class="pB1_Body1"&gt;&lt;a href="http://www.cisco.com/en/US/docs/routers/access/2800/hardware/installation/guide/03_hw.html"&gt;Hardware Installation&lt;/a&gt;&lt;/p&gt;&lt;p class="pB1_Body1"&gt;&lt;a href="http://www.cisco.com/en/US/docs/routers/access/1800/1841/software/configuration/guide/b_image.html"&gt;Software Configuration with upgrade techniques&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="pB1_Body1"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-3929220625901259311?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/3929220625901259311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=3929220625901259311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3929220625901259311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3929220625901259311'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/02/console-port-connection-in-cisco.html' title='Console Port Connection in Cisco Routers'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-3752376398191171143</id><published>2011-02-06T14:13:00.000-08:00</published><updated>2011-10-11T11:43:03.661-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Update JAVA and Install NetBeans in Mac OS X 10.5</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Mac OS X:&lt;br /&gt;&lt;/span&gt;Check Mac OS X version by executing&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;gt; sw_vers&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;ProductName:    Mac OS X&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;ProductVersion:    10.5.8&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;BuildVersion:    9L31a&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Version 10.5.x&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java Version:&lt;/span&gt;&lt;br /&gt;Check Java version in your system by executing&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;gt;java -version&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;java version "1.5.0_13"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is J2SE  5.0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[On the top right corner, there is spotlight/search. Search for "&lt;span style="font-weight: bold;"&gt;Java Preferences&lt;/span&gt;".  Open that application. It allows you to select/de-select various versions of Java in your system ]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Our task: Update J2SE 5.0 to Java 6 [ Java SE 6] :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;[ &lt;a href="http://en.wikipedia.org/wiki/Java_version_history"&gt;Java replaced name J2SE with Java SE starting from version 6&lt;/a&gt; ]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1: Go to http://support.apple.com/downloads/ and search for " java for mac os x 10.5 "&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2: Download the Java for Mac OS X 10.5 update 4&lt;/span&gt;&lt;br /&gt;http://support.apple.com/kb/DL848&lt;br /&gt;&lt;br /&gt;Java for Mac OS X 10.5 Update 4 delivers improved reliability, security, and compatibility for Java SE 6, J2SE 5.0 and J2SE 1.4.2 on Mac OS X 10.5.7 and later. This release updates Java SE 6 to version 1.6.0_13, J2SE 5.0 to version 1.5.0_19, and J2SE 1.4.2 to 1.4.2_21.&lt;br /&gt;&lt;br /&gt;Check java version:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&amp;gt;java -version&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;java version "1.6.0_13"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java(TM) SE Runtime Environment (build 1.6.0_13-b03-211)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02-83, mixed mode)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3: Download the Java for Mac OS X 10.5 update 5&lt;/span&gt;&lt;br /&gt;http://support.apple.com/kb/DL924&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-style: italic;"&gt;Caution: After installation of update 5, you have to restart the system.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="snippetClass3"&gt;Java&lt;/span&gt;&lt;span class="snippetClass3"&gt; for Mac&lt;/span&gt;&lt;span class="snippetClass1"&gt; OS X&lt;/span&gt;&lt;span class="snippetClass3"&gt; 10.5&lt;/span&gt;&lt;span class="snippetClass1"&gt; Update 5 delivers improved reliability, security, and compatibility for&lt;/span&gt;&lt;span class="snippetClass3"&gt; Java&lt;/span&gt;&lt;span class="snippetClass1"&gt; SE 6, J2SE 5.0 and J2SE 1.4.2 on&lt;/span&gt;&lt;span class="snippetClass3"&gt; Mac OS X 10.5&lt;/span&gt;&lt;span class="snippetClass1"&gt; .8 and later.&lt;/span&gt;&lt;span class="snippetClass0"&gt; This release updates Java SE 6 to version 1.6.0_15, J2SE 5.0 to version 1.5.0_20, and J2SE 1.4.2 to 1.4.2_22.&lt;br /&gt;&lt;br /&gt;Check Java Version:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&amp;gt;java -version&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;java version "1.6.0_15"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java(TM) SE Runtime Environment (build 1.6.0_15-b03-226)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-92, mixed mode)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4: Download the Java for Mac OS X 10.5 update 8&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="meta"&gt;http://support.apple.com/kb/DL971&lt;br /&gt;&lt;br /&gt;&lt;span class="snippetClass3"&gt;Java&lt;/span&gt;&lt;span class="snippetClass3"&gt; for Mac&lt;/span&gt;&lt;span class="snippetClass1"&gt; OS X&lt;/span&gt;&lt;span class="snippetClass3"&gt; 10.5&lt;/span&gt;&lt;span class="snippetClass1"&gt; Update 8 delivers improved compatibility, security, and reliability by updating J2SE 5.0 to 1.5.0_26, and updating&lt;/span&gt;&lt;span class="snippetClass3"&gt; Java&lt;/span&gt;&lt;span class="snippetClass1"&gt; SE 6 to 1.6.0_22 for 64-bit capable Intel-based&lt;/span&gt;&lt;span class="snippetClass3"&gt; Macs&lt;/span&gt;&lt;span class="snippetClass1"&gt; .&lt;/span&gt;&lt;span class="snippetClass0"&gt; J2SE 1.4.2 is no longer being updated to fix bugs or security issues and remains disabled by default in this update.&lt;br /&gt;&lt;br /&gt;Check Java version&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&amp;gt;java -version&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;java version "1.6.0_22"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-9M3263)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0); font-style: italic;"&gt;Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After updating Java from J2SE 5.0 to Java SE 6.0 with latest updates, we are now ready to install NetBeans ( IDE for Java,C,PHP.. more Programming)&lt;br /&gt;&lt;br /&gt;Go to  &lt;a href="http://netbeans.org/downloads/index.html"&gt;http://netbeans.org/downloads/index.html&lt;/a&gt;&lt;br /&gt;and download your desired bundle for the Mac OS. It has pretty neat chart showing the NetBeans IDE support integration.&lt;br /&gt;&lt;br /&gt;Since I am going to do basic Java SE programming, I will download very basic NetBeans IDE.&lt;br /&gt;&lt;br /&gt;Install the downloaded .dmg file for  NetBeans IDE  and you are good to go.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 51, 153); font-style: italic;"&gt;[I have assumed that you know how to install the download .dmg file for Mac. It's easy. Just double click the respective downloaded .dmg file, the wizard will automatically walk you through the installation process]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-3752376398191171143?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/3752376398191171143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=3752376398191171143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3752376398191171143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3752376398191171143'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2011/02/update-java-and-install-netbeans-in-mac.html' title='Update JAVA and Install NetBeans in Mac OS X 10.5'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-4842622497150727842</id><published>2010-10-10T17:35:00.000-07:00</published><updated>2011-10-11T11:42:40.699-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mail Server'/><title type='text'>How e-mail works? .. even a caveman can understand, yes even a caveman</title><content type='html'>SMTP (Port 25): handles outgoing mail&lt;div&gt;POP3/IMAP (Port 110/143): handles incoming mail&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's have scenario: John Doe at  hotmail.com is sending email to Laura Johnson at gmail.com. John Doe is using Outlook to send an email. Laura is using web for gmail.com.&lt;/div&gt;&lt;div&gt;(Outlook, web interface are the front end for the users. They are just the GUI interface)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;John uses Outlook--&amp;gt; send email from Hotmail.com  account to Laura Johnson having Gmail.com account--&amp;gt; Laura checks email at www.gmail.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Outlook connects to SMTP server at hotmail.com using Port 25&lt;/div&gt;&lt;div&gt;John writes an email to Laura &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From: John.Doe@hotmail.com&lt;/div&gt;&lt;div&gt;To: Laura.Johnson@gmail.com&lt;/div&gt;&lt;div&gt;Subject: Hi Laura&lt;/div&gt;&lt;div&gt;Body: Hi Laura, How are you? What's your plan for this weekend? Let's go to the state fair at Dallas. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. SMTP server at hotmail.com reads "TO" field and breaks it into two parts e.g Laura.Johnson@gmail.com is broken into "Laura.Johnson" and "gmail.com"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. SMTP server at hotmail.com queries to DNS server; Who is SMTP server at gmail.com? &lt;/div&gt;&lt;div&gt;    DNS server looks into MX records and replies back with one or more SMTP servers at gmail.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. SMTP server at hotmail.com connects to one of the SMTP server at gmail.com and handles the message. SENDMAIL and POSTFIX are the most popular MTA (Mail Transfer Agent) to deliver mail from one SMTP server to another another SMTP server. My preference is POSTFIX as it's free, easy, secure, customizable and popular too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. SMTP server at gmail.com recognizes that "Laura.Johnson" is the user at gmail.com and it handover the message to gmail POP3/IMAP server which puts the message in the Laura.Johnson's INBOX.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6. Laura logs in to www.gmail.com and checks her email.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's that easy. Remember, we didn't talk about handling the junk emails.&lt;/div&gt;&lt;div&gt;It goes little bit complex for handling the junk emails. Please google about that if you want to know more... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Extra Treat: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;SMTP commands:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;HELO&lt;/div&gt;&lt;div&gt;EHLO&lt;/div&gt;&lt;div&gt;MAIL FROM&lt;/div&gt;&lt;div&gt;RCPT TO&lt;/div&gt;&lt;div&gt;DATA&lt;/div&gt;&lt;div&gt;RESET&lt;/div&gt;&lt;div&gt;QUIT&lt;/div&gt;&lt;div&gt;HELP&lt;/div&gt;&lt;div&gt;VRFY&lt;/div&gt;&lt;div&gt;EXPN&lt;/div&gt;&lt;div&gt;VERB&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;POP3 commands:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;USER&lt;/div&gt;&lt;div&gt;PASS&lt;/div&gt;&lt;div&gt;QUIT&lt;/div&gt;&lt;div&gt;LIST&lt;/div&gt;&lt;div&gt;RETR&lt;/div&gt;&lt;div&gt;DELE&lt;/div&gt;&lt;div&gt;TOP&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-4842622497150727842?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/4842622497150727842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=4842622497150727842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4842622497150727842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4842622497150727842'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/10/how-e-mail-works-even-caveman-can.html' title='How e-mail works? .. even a caveman can understand, yes even a caveman'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-5393789922361874690</id><published>2010-10-06T09:07:00.000-07:00</published><updated>2010-10-06T09:22:34.832-07:00</updated><title type='text'>How can I setup VLAN on my Windows XP or Workstation?</title><content type='html'>If you have &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Intel NIC card&lt;/span&gt;, you are lucky. Intel PROset utility/driver allows you to add/remove VLAN on your workstation.&lt;br /&gt;&lt;br /&gt;You could download Intel PROset from  &lt;a href="http://downloadcenter.intel.com/"&gt;http://downloadcenter.intel.com/&lt;/a&gt;&lt;br /&gt;Go to Downloads and Drivers and search for Intel PROset and choose your operating system&lt;br /&gt;&lt;br /&gt;Install the downloaded executable file&lt;br /&gt;(While installing it will prompt if you want to use MMC for the management, select YES)&lt;br /&gt;&lt;br /&gt;It will also ask if you want to remove old drivers and settings, you can say NO&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Once it is installed, Right Click "My Computer" --&gt; Manage --&gt; Device Manager --&gt; Network Adapters --&gt; Right Click "Inter(R) XXXX whatever it shows " --&gt; Properties --&gt; VLAN and add your desired VLAN ID&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Try to access other devices on the same VLAN. It should work. If not contact your network administrator.&lt;br /&gt;&lt;br /&gt;Other TIPS:&lt;br /&gt;1. Start --&gt; Run --&gt; winmsd&lt;br /&gt;&lt;br /&gt;  if Processor properties has x86, your OS is 32 bit&lt;br /&gt;  if Processor properties has ia64, your OS is 64 bit&lt;br /&gt;&lt;br /&gt;2. Device manager will show you the vendor of your NIC card. It could be Realtek, INTEL, Broadcom. The above procedure for VLAN will only work for INTEL NIC.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-5393789922361874690?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/5393789922361874690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=5393789922361874690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5393789922361874690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5393789922361874690'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/10/how-can-i-setup-vlan-on-my-windows-xp.html' title='How can I setup VLAN on my Windows XP or Workstation?'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-8737591723860778260</id><published>2010-10-04T05:30:00.001-07:00</published><updated>2011-10-11T11:44:02.485-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Remote Support'/><title type='text'>Remote Desktop in console mode</title><content type='html'>If you are using Windows XP RDP client, for RDP in console mode&lt;br /&gt;&lt;br /&gt;mstsc /console&lt;br /&gt;&lt;br /&gt;If you are using Windows Vista or above, it doesn't use /console session, it uses /admin session&lt;br /&gt;&lt;br /&gt;mstsc /admin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-8737591723860778260?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/8737591723860778260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=8737591723860778260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8737591723860778260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8737591723860778260'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/10/remote-desktop-in-console-mode.html' title='Remote Desktop in console mode'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-3210206630497207471</id><published>2010-09-23T03:47:00.000-07:00</published><updated>2011-10-11T11:40:51.431-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><title type='text'>Rename multiple files in Linux</title><content type='html'>Lets' change all files with extension ‘.html’ to ‘.php’.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rename all *.html files in one folder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;rename &lt;replace&gt; &lt;with&gt; &lt;in&gt;&lt;/in&gt;&lt;/with&gt;&lt;/replace&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#rename .html .php *.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do the same operation recursively in a directory tree&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;find . -name "*.html" -exec rename .html .php {} \;&lt;br /&gt;&lt;br /&gt;Those double quotes around *.info are important&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you want to be expert go to following link and don't forget to read all the comments :)&lt;br /&gt;&lt;a href="http://www.thegeekstuff.com/2009/06/how-to-rename-files-in-group/"&gt;http://www.thegeekstuff.com/2009/06/how-to-rename-files-in-group/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-3210206630497207471?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/3210206630497207471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=3210206630497207471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3210206630497207471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3210206630497207471'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/09/rename-multiple-files-in-linux.html' title='Rename multiple files in Linux'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-7564527393003321940</id><published>2010-08-30T05:56:00.000-07:00</published><updated>2011-03-04T07:52:08.672-08:00</updated><title type='text'>Basic tutorial on Logrotate</title><content type='html'>Log files in Linux usually reside at /var/log... It keeps on growing so log management is essential. Log management is usually achieved using logrotate. Logrotate is managed by cronjobs in Linux.&lt;br /&gt;&lt;br /&gt;For logrotate, you can configure /etc/logrotate.conf or create the individual configuration files for each application or each log file in /etc/logrotate.d&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;step 1: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let's say, I have VOIP application 'asterisk' running on my system. Asterisk generates various log files under /var/log/asterisk directory.  I would create astlog under /etc/logrotate.d to manage the log files.&lt;br /&gt;&lt;br /&gt;#cd /etc/logrotate.d&lt;br /&gt;#vi astlog&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/var/log/asterisk/full /var/log/asterisk/messages /var/log/asterisk/debug /var/log/asterisk/*.log&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        nocompress&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        daily&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        rotate 5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        missingok&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        &lt;span style="font-weight: bold;"&gt;copytruncate&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here we listed all the log files to be managed and provided the attributes of the log management. Don't compress the log file, rotate the log file daily, max number of log rotation 5 ( i.e logfilexxx.1, logfilexxx.2, .... , logfilexxx.5).  It only keeps 5 log files. With copytruncate option, the original log file is truncated in place after creating a copy, instead of moving the old log file and optionally creating a new one. It is useful when some program cannot be told its logfile and thus might continue writing(apending) to the previous log file.&lt;br /&gt;&lt;br /&gt;[you can use #stat &amp;lt; filename &amp;gt; or # ls -l &amp;lt; filename &amp;gt; to check the inode number&lt;br /&gt;copytruncate helps the log file to preserver it's inode(unique file number) ]&lt;br /&gt;&lt;br /&gt;If you don't want to use copytruncate option, then you have to tell the program that log file has been recreated (with new INODE number). For example, in my case I could have done&lt;br /&gt;&lt;br /&gt;#cd /etc/logrotate.d&lt;br /&gt;#vi astlog&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/var/log/asterisk/full /var/log/asterisk/messages /var/log/asterisk/debug /var/log/asterisk/*.log&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        nocompress&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;       &lt;span style=";font-family:arial;font-size:100%;"  &gt; daily&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        rotate 5&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        missingok&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        create&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;   &lt;pre  style="margin: 0em; color: rgb(0, 102, 0); font-weight: bold;font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;        postrotate&lt;br /&gt;             /usr/sbin/asterisk -rx 'logger reload' &gt; /dev/null 2&gt; /dev/null&lt;br /&gt; endscript&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here, we are telling our program 'asterisk' to reload logger as new log file has been created after log rotation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;step 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By default, Logrotate is scheduled daily. You can find 'logrotate' under /etc/cron.daily&lt;br /&gt;&lt;br /&gt;Let's look at /etc/crontab&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;# less /etc/crontab&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;SHELL=/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;MAILTO=root&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;-*/15 * * * *   root  test -x /usr/lib/cron/run-crons &amp;amp;&amp;amp; /usr/lib/cron/run-crons &gt;/dev/null 2&gt;&amp;amp;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The time to execute the scripts is managed by crontab. &lt;span style="color: rgb(0, 102, 0);"&gt;/usr/lib/cron/run-crons &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;sc&lt;/span&gt;ript&lt;/span&gt;&lt;/span&gt;  controls the cron.hourly, cron.daily, cron.weekly and cron.monthly.  run_crons runs every 15 minutes and ensures that cron jobs are taken  care of.&lt;br /&gt;&lt;br /&gt;In SLES, if you need to change the default daily time , you can go to  YAST --&gt; System --&gt; /etc/sysconfig editor --&gt; System --&gt;  Cron --&gt; DAILY_TIME and change the time.&lt;br /&gt;&lt;br /&gt;Let's say, I want logrotation to be done at OFF hours (10:30 pm) to  avoid the possible load on the server, then, I can change DAILY_TIME to  22:30&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tips:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To run the logrotate manually, you can try&lt;br /&gt;#logrotate astlog&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For more information:&lt;br /&gt;&lt;a href="http://www.linuxtopia.org/online_books/suse_linux_guides/SLES10/suse_enterprise_linux_server_installation_admin/sec_suse_pakete.html"&gt;&lt;br /&gt;http://www.linuxtopia.org/online_books/suse_linux_guides/SLES10/suse_enterprise_linux_server_installation_admin/sec_suse_pakete.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thegeekstuff.com/2010/07/logrotate-examples/"&gt;http://www.thegeekstuff.com/2010/07/logrotate-examples/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-7564527393003321940?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/7564527393003321940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=7564527393003321940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7564527393003321940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7564527393003321940'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/08/basic-tutorial-on-logrotate.html' title='Basic tutorial on Logrotate'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-2060017709327116167</id><published>2010-07-13T07:25:00.000-07:00</published><updated>2010-07-13T07:26:23.024-07:00</updated><title type='text'>CAT3 vs CAT4 vs CAT5 vs CAT5e vs CAT6</title><content type='html'>CAT3- contains 4 pairs of wires and can carry up to 10Mbps with a  possible bandwidth of 16MHz. (UTP)&lt;br /&gt;&lt;br /&gt;CAT4- contains 4 pairs of wires and can carry up to 16Mbps with a  possible bandwidth of 20MHz. (UTP)&lt;br /&gt;&lt;br /&gt;CAT5- contains 4 pairs of wires and cancarry up to 100Mbps with a  possible bandwidth of100MHz. However there is more than one variety.  There is also FastCAT which has a possible bandwidth of up to 350MHz.  (UTP)&lt;br /&gt;&lt;br /&gt;CAT5e- a higher grade of CAT5 that contains high-quality copper, offers a  higher twist ratio (to eliminate cross-talk) and can support a  bandwidth of 200MHz (2x that of REGULAR CAT5) (UTP)&lt;br /&gt;&lt;br /&gt;CAT6- a twisted pair cable that  contains 4 wire pairs each wrapped in  foil insulation (to eliminate cross-talk). Additional foil covers the  bundle of wires (to eliminate cross-talk further, and shield  it from  other interference ie. EMF from flourescent lights) and a fire-resistant  plastic sheath covers the second foil layer. CAT6 supports at least   six times the throughput of regular CAT5, but it is also 3-4x the price  of CAT5. (STP)&lt;br /&gt;&lt;br /&gt;UTP=Unshielded Twisted Pair&lt;br /&gt;STP=Shielded Twisted Pair&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-2060017709327116167?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/2060017709327116167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=2060017709327116167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/2060017709327116167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/2060017709327116167'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/07/cat3-vs-cat4-vs-cat5-vs-cat5e-vs-cat6.html' title='CAT3 vs CAT4 vs CAT5 vs CAT5e vs CAT6'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-4257194174661824144</id><published>2010-05-28T07:37:00.000-07:00</published><updated>2011-10-11T11:47:24.808-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><title type='text'>Make copy batch file in windows</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span style="font-family:courier new;"&gt;If you need to make a copy of your local drive to the backup drive scheduled everyday, you will need to know couple of things. [I am talking on Windows environment ;) ]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1. Download the &lt;/span&gt;&lt;a style="FONT-WEIGHT: bold; FONT-FAMILY: courier new" href="http://technet.microsoft.com/en-us/magazine/2006.11.utilityspotlight.aspx"&gt;&lt;span style="font-family:courier new;"&gt;robocopy&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt;. It is one of the microsoft product. It stands for robust copy&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;This is well built GUI tool. However to understand the various options available, you can check this&lt;/span&gt;&lt;br /&gt;&lt;a style="FONT-FAMILY: courier new" href="http://ss64.com/nt/robocopy.html"&gt;&lt;span style="font-family:courier new;"&gt;http://ss64.com/nt/robocopy.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2. Install robocopy. You can write the simple script to make the copy process. [ You can use any kind of editor like notepad, wordpad, notepad++ to write the script]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre  style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(153,0,0);font-size:100%;" &gt;robocopy source_folder destination_folder [&lt;em&gt;file(s)_to_copy&lt;/em&gt;] [&lt;em&gt;options&lt;/em&gt;]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(51,204,0)"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(51,204,0)"&gt;# Script file name: C:\mycopy.cmd&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(51,204,0)"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(0,0,153)"&gt;@echo "Copying files and folders"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(0,0,153)"&gt;robocopy "C:\myLocalFile" "F:\myBackup" /E&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(0,0,153)"&gt;@echo "Copy process completed"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre  style="color: rgb(153, 153, 153);font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;/E  option allows to Copy Subfolders, including Empty Subfolders&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;3.&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;Finally you can schedule the command file(batch file)&lt;br /&gt;created by you to run in the specific time. &lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;Go to Control Panel --&amp;gt; Scheduled Tasks --&amp;gt;&lt;br /&gt;Right click and create a new schedule task &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;--&amp;gt;&lt;br /&gt;Give the name to it ---&amp;gt;&lt;br /&gt;Right click on the scheduled task created and go to the properties --&amp;gt;&lt;br /&gt;specify the path of the script file in the run section under Task Tab&lt;/span&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;(in my case it would be C:\mycopy.cmd ) --&amp;gt;&lt;br /&gt;Now go to the Schedule Tab and specify the schedule you wanted&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="COLOR: rgb(0,0,0)"&gt;Hey you are done.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-4257194174661824144?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/4257194174661824144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=4257194174661824144' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4257194174661824144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4257194174661824144'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/05/make-copy-batch-file-in-windows.html' title='Make copy batch file in windows'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-3238607385438268914</id><published>2010-04-18T12:53:00.000-07:00</published><updated>2011-10-11T11:43:29.208-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Etherpad'/><title type='text'>Etherpad installation on SLES or CentOS</title><content type='html'>Etherpad is online real-time collaborative document editing tool.&lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;&lt;h2&gt;&lt;a name="Requirements"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/javase/downloads/widget/jdk6.jsp" rel="nofollow"&gt;Java 1.6&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.scala-lang.org/downloads" rel="nofollow"&gt;Scala 2.7&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/5.1.html#downloads" rel="nofollow"&gt;MySQL Server 5.1&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://dev.mysql.com/downloads/connector/j/" rel="nofollow"&gt;mysql-connector-java&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/etherpad/"&gt;etherpad&lt;/a&gt; (If you need already cooked etherpad, feel free to ask me. I will email you)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Steps to be followed:&lt;br /&gt;&lt;br /&gt;1. Create username 'etherpad' with password 'password'&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#useradd -r -m etherpad&lt;br /&gt;#passwd etherpad&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;2. Install MySQL and configure MySQL&lt;br /&gt;&lt;br /&gt;--&amp;gt; You can use YAST for SLES and YUM for CentOS&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#service mysql start&lt;/span&gt; --&amp;gt; in SLES&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#service mysqld start&lt;/span&gt; --&amp;gt; in CentOS&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#chkconfig mysql on&lt;/span&gt; --&amp;gt; to enable MySQL on next reboot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Once you download Scala 2.7 , extract the tar file to the /usr/local/scala directory.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#mkdir /usr/local/scala&lt;br /&gt;#cd /usr/local/scala&lt;br /&gt;#tar xvzf scala-2.7.7.final.tgz&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Once you download mysql-connector-java, extract the tar file to the /usr/local/mysqlconnector&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#cd /usr/local&lt;br /&gt;#tar xvzf mysqlconnector.tar.gz&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;5. Install JAVA 1.6&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#sh jdk-6u20-linux-x64-rpm.bin&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Use YAST or YUM to install "fastjar"&lt;br /&gt;&lt;br /&gt;6. Create myENV file&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#touch myENV&lt;br /&gt;#vi myENV&lt;br /&gt;export JAVA_HOME=/usr/java/jdk1.6.0_20/&lt;br /&gt;export JAVA=$JAVA_HOME/bin/java&lt;br /&gt;export SCALA_HOME=/usr/local/scala/scala-2.7.7.final/&lt;br /&gt;export SCALA=$SCALA_HOME/bin/scala&lt;br /&gt;export PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH&lt;br /&gt;export MYSQL_CONNECTOR_JAR=/usr/local/mysqlconnector/mysql-connector-java-5.1.12-bin.jar&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;7. /etc/profile hosts the environment variables&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#cat myENV &amp;gt;&amp;gt; /etc/profile&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Logout and log back in.&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;8. Create database called "etherpad" and grant privilege to user "etherpad"&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#mysql&lt;br /&gt;&amp;gt;create database etherpad;&lt;br /&gt;&amp;gt;grant all privileges on etherpad.* to 'etherpad'@'localhost' identified by 'password';&lt;br /&gt;&amp;gt;exit;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;9. Extract the content of etherpad in /etherpad directory.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#cd /etherpad/trunk/etherpad&lt;br /&gt;#cd /bin&lt;br /&gt;#vi rebuildjar.sh&lt;/span&gt;&lt;br /&gt;We need to modify rebuildjar.sh as it fails to find the location of 'Infrastructure' directory&lt;br /&gt;&lt;br /&gt;Change&lt;br /&gt;&lt;em&gt;source ../infrastructure/bin/compilecache.sh&lt;br /&gt;&lt;/em&gt;to&lt;br /&gt;source &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;../&lt;/span&gt;../infrastructure/bin/compilecache.sh&lt;br /&gt;&lt;br /&gt;Change&lt;br /&gt;&lt;em&gt;cd ../infrastructure&lt;br /&gt;&lt;/em&gt;to&lt;br /&gt;cd &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;../&lt;/span&gt;../infrastructure&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also modify some other files&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;etherpad/trunk/etherpad# cp etc/etherpad.localdev-default.properties bin/data/etherpad.local.properties&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;etherpad/trunk/etherpad# cat bin/data/etherpad.local.properties&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;ajstdlibHome =&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;../../infrastructure/framework-src/modules&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;appjetHome = ./data/appjet&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;devMode =&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;false&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;etherpad.adminPass = password&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;etherpad.fakeProduction =&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;false&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;etherpad.isProduction = true&lt;br /&gt;etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver&lt;br /&gt;etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad&lt;br /&gt;etherpad.SQL_PASSWORD = password&lt;br /&gt;etherpad.SQL_USERNAME = etherpad&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;listen =&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;127.0.0.1:9000&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;logDir = ./data/logs&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;modulePath =&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;../src&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;transportPrefix = /comet&lt;br /&gt;transportUseWildcardSubdomains = true&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;useVirtualFileRoot =&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;../src&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Also need to modify 3 other files&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# vi etherpad\trunk\etherpad\src\etherpad\globals.js&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;var SUPERDOMAINS = {&lt;br /&gt;'localbox.info': true,&lt;br /&gt;'localhost': true,&lt;br /&gt;&lt;strong&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;'127.0.0.1'&lt;/span&gt;&lt;/strong&gt;: true&lt;br /&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#vi etherpad\trunk\etherpad\src\etherpad\pro\pro_utils.js&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;var fromDomain = &lt;strong&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;'127.0.0.1'&lt;/span&gt;&lt;/strong&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;#vi etherpad\trunk\etherpad\src\main.js&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;var newurl = "http://&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;strong&gt;127.0.0.1&lt;/strong&gt;&lt;/span&gt;"+request.path;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;10. Now we are almost done.&lt;br /&gt;&lt;em&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;[it is very important that you are inside bin directory of etherpad to run the script files, otherwise you will get error: file location not found or something wrong]&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;etherpad/trunk/etherpad# cd bin&lt;br /&gt;etherpad/trunk/etherpad/bin# ./rebuiljar.sh&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;etherpad/trunk/etherpad/bin#./run-local.sh&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;12. Then go to http://127.0.0.1:9000, it will prompt you to create new pad&lt;br /&gt;&lt;br /&gt;13. To customize the home page, you can edit the file&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;# vi etherpad\trunk\etherpad\src\templates\main\home.ejs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;14. If you replace 127.0.0.1 with your server IP address in all the files mentioned above, you can access Etherpad using &lt;span style="color: rgb(0, 102, 0);"&gt;http://your-ip-address:9000/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;Links:&lt;br /&gt;&lt;a href="http://code.google.com/p/etherpad/wiki/Instructions"&gt;http://code.google.com/p/etherpad/wiki/Instructions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pauleira.com/13/installing-etherpad/"&gt;http://pauleira.com/13/installing-etherpad/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://karteek.selfdabba.com/post/301488675/etherpad-opensourced"&gt;http://karteek.selfdabba.com/post/301488675/etherpad-opensourced&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-3238607385438268914?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/3238607385438268914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=3238607385438268914' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3238607385438268914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3238607385438268914'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/04/etherpad-installation-on-sles-or-centos.html' title='Etherpad installation on SLES or CentOS'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-8153914897078452210</id><published>2010-04-14T06:20:00.000-07:00</published><updated>2010-09-23T05:41:05.142-07:00</updated><title type='text'>CVS and CVSNT in glance</title><content type='html'>&lt;span style="font-weight: bold;"&gt;1. Create Repository on the CVSNT server.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Launch wincvs&lt;/span&gt; and navigate to Admin --&gt; Preferences --&gt; specify CVS HOME [it is any directory that might be needed for wincvs configuration, however you will not need it if you are beginner]. If you have installed &lt;a href="http://winmerge.org/"&gt;WinMerge&lt;/a&gt; or &lt;a href="http://download.cnet.com/Files-Compare-Tool/3000-2248_4-10315688.html"&gt;File Compare Tool (powerful)&lt;/a&gt;, you can select that as your External Diff program. If you have Notepad++ installed, you can select that as your default editor.&lt;br /&gt;&lt;br /&gt;3. Import module into the Repository (it means importing the Local project directory into the Repository)&lt;br /&gt;a&gt; Before importing module, we need to browse the local directory from wincvs [ see the browse section at the top in toolbar section]&lt;br /&gt;b&gt; On left side, you will see your local project directory which you just browsed.&lt;br /&gt;c&gt; Right click the folder and select Import Module option&lt;br /&gt;d&gt; Ignore the files which you can't edit [ e.g. .rpm, .bak, .pub and many more]&lt;br /&gt;e&gt; Specify the CVSROOT and repository location&lt;br /&gt;f&gt; You might want to tell wincvs to create CVS hierarchy so that it can create versions of files.&lt;br /&gt;&lt;br /&gt;4. You can start editing files [Remember: When you are editing files, you are editing in your local project folder, no in the repository]. Once you are done, you can commit the changes. Commiting the changes means to make the change on the Repository too. Once the change is done on repository, you can checkout the module [ your project ]. Checkout means pulling out the project from the repository.&lt;br /&gt;&lt;br /&gt;[local project directory] ------import--&gt; [Repository] -----export--&gt; [checkout project directory]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-8153914897078452210?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/8153914897078452210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=8153914897078452210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8153914897078452210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8153914897078452210'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/04/cvs-and-cvsnt-in-glance.html' title='CVS and CVSNT in glance'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-8526034411404962801</id><published>2010-03-28T11:09:00.000-07:00</published><updated>2010-05-13T14:30:20.537-07:00</updated><title type='text'>Change UUID of virtual drive</title><content type='html'>I made a copy of virtual drive (by copy and pasting .vdi file). Then, I tried to mount the .vdi file in the virtual machine. It came up with some error: A hard disk with UUID {bla..bla..bla......} is already registered. So, I was unable to mount the drive.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now, what is the solution?&lt;/span&gt;&lt;br /&gt;Ans: Change the UUID of the virtual/image drive.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How can I change the UUID of the virutal drive?&lt;/span&gt;&lt;br /&gt;Ans: You have to run the VBoxManage command&lt;br /&gt;&lt;br /&gt;[Before running command, make sure that environment variable is set to the location of the virtual box commands. To set environment variable: Go to "My Computer" --&gt; Right click --&gt; Properties --&gt; Advanced --&gt; Environment Variables --&gt; Add the location of Virtual Box to the PATH variable; In my case it is : PATH .......;C:\Program Files\Sun\VirtualBox ]&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;C:\ &gt; VBoxManage internalcommands setvdiuuid disk2.vdi &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[disk2.vdi is the name of my copied .vdi file]&lt;br /&gt;&lt;br /&gt;Now, try to mount the disk2.vdi in Virtual Machine.&lt;br /&gt;Have a good one!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On my second day, I found issue with SLES (Suse Linux). It keeps on complaining "VB is waiting for /dev/disks/by-id/scsi-xxxxx-part2 to appear".&lt;br /&gt;After some research on blogs, found that GRUB in SLES looks for UUID of disk to boot.&lt;br /&gt;&lt;br /&gt;I set the copied/cloned harddisk as second harddisk (primary slave) for the original SLES VM. Then I startet the original SLES VM.&lt;br /&gt;In the running SLES VM I made a new directory and mounted it to the root directory of the cloned harddisk.&lt;br /&gt;Then I startet (as root) the Yast partition manager and noticed the UUID of the cloned harddisk. (It is made from the UUID shown with vboxmanage list hdds, but it is not the same).&lt;br /&gt;Then I edited (as root) the /boot/grub/menu.lst and the /etc/fstab : I changed the UUID everywhere the old one was (do not use capital letters instead of small letters).&lt;br /&gt;Now shutdown (after unmounting the cloned root directory)&lt;br /&gt;Then I disabled the cloned harddisk as second harddisk in the original VM and set it as first harddisk in the cloned VM.&lt;br /&gt;Starting the cloned VM now works.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For Network cards to work you have to do&lt;br /&gt;&lt;ol&gt;&lt;li&gt;rename the ifcfg-eth-id-&lt;mac-address&gt; to ifcfg-eth0  (in  /etc/sysconfig/network)&lt;/li&gt;&lt;li&gt;remove the rules file (/etc/udev/rules.d/30-&lt;rest&gt;&lt;/li&gt;&lt;li&gt;edit /etc/sysconfig/network/config and change FORCE_PERSISTENT_NAMES  to "no".&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-8526034411404962801?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/8526034411404962801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=8526034411404962801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8526034411404962801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8526034411404962801'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/03/change-uuid-of-virtual-drive.html' title='Change UUID of virtual drive'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-5184334778845726482</id><published>2010-03-27T16:20:00.000-07:00</published><updated>2010-03-27T16:36:45.892-07:00</updated><title type='text'>Install VMware-tools</title><content type='html'>It might be challenging to install VMware-tools if we don't know what exactly we are doing.&lt;br /&gt;You need to read all the instructions that is provided by VMware workstation or Virtual Center or ESX server.&lt;br /&gt;For now, I am going to give the instruction for Linux systems.&lt;br /&gt;After installing Linux as Virtual Machine on the top of VMware workstation/ESX Server or VSphere (whatever), you will see that VMware-tools is not installed.&lt;br /&gt;&lt;br /&gt;Steps to be followed:&lt;br /&gt;&lt;br /&gt;1) Choose "Install VMware tools" from VM menu&lt;br /&gt;&lt;br /&gt;2) You will recognize some change on "cd-rom" icon located at Left corner of VM. It  just like someone has inserted the CD of VMware tools in your VM.&lt;br /&gt;&lt;br /&gt;3) Now you need to mount the CD-ROM so that you can access the contents.&lt;br /&gt;     #mount    /dev/cdrom   /mnt/cdrom&lt;br /&gt;If you are lucky, above command will work without any issue. If not you might have to specify some mount options like&lt;br /&gt;    # mount -o ro  /dev/cdrom   /mnt/cdrom&lt;br /&gt;(which mean mount as read-only option)&lt;br /&gt;Some systems requires you to specify the file-systems type. FYI, CD-ROM uses iso9660 file-system&lt;br /&gt;  # mount -t iso9660 -o ro  /dev/cdrom   /mnt/cdrom&lt;br /&gt;&lt;br /&gt;4)After this, go to /mnt/cdrom directory. You will find VMware-toools over there. You can install from RPM or TAR file. It all depends on you, however I recommend tar file.&lt;br /&gt;&lt;br /&gt;   # cd /mnt/cdrom&lt;br /&gt;   # rpm -ivh [VMware-tools......rpm]&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;   # cd /mnt/cdrom&lt;br /&gt;   #tar -xvzf [VMware-tools.......tar]  /root/vmware&lt;br /&gt;  (this will un-archive the "tar" file under /root/vmware directory&lt;br /&gt;  # cd /root/vmware&lt;br /&gt;  #./vmware-install.pl&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-5184334778845726482?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/5184334778845726482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=5184334778845726482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5184334778845726482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5184334778845726482'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/03/install-vmware-tools.html' title='Install VMware-tools'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-7845251958412841975</id><published>2010-03-09T05:16:00.000-08:00</published><updated>2010-05-22T20:34:45.350-07:00</updated><title type='text'>Some slick Unix/Linux commands... much more powerful and useful</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;strong&gt;KILL &lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;usage:&lt;br /&gt;&lt;br /&gt;Kill process by Process ID&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;kill -9 [PID] --&gt; Forcefully Kill&lt;/li&gt;&lt;li&gt;kill -15 [PID] --&gt; Gracefully Kill&lt;/li&gt;&lt;li&gt;kill %[JobID] --&gt; JobID can be checked by command #jobs&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Kill process by Process Name&lt;/p&gt;&lt;ul&gt;&lt;li&gt;killall [proces name]&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;PID/Process name can be found using commands like&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ps -aux&lt;/li&gt;&lt;li&gt;ps -elf&lt;/li&gt;&lt;li&gt;netstat -anp&lt;/li&gt;&lt;li&gt;lsof -w -n -i [tcp/udp:port number]&lt;process&gt;&lt;/process&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;System Tuning Commands:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;#mpstat -A ALL --&gt; CPUs status&lt;/p&gt;&lt;p&gt;#top --&gt; Press 'I' to toggle between Irix Mode (Irix Mode display resource usage mulitplied by total number of CPUs) ; Press "1" to see all the CPUs&lt;/p&gt;&lt;p&gt;# sar&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;Networking Commands&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;#netstat -anp --&gt; Where 'p' flag shows which program is making connection&lt;/p&gt;&lt;p&gt;[ Hey, now I know which program is making a connection, can I use kill command to kill by process name or PID? Answer: Ofcourse, that's the reason I am writing this article ]&lt;/p&gt;&lt;p&gt;Now you know how to terminate the particular remote connection in the server. There is also another technique using #lsof.&lt;/p&gt;&lt;p&gt;# lsof -w -n -i tcp:22&lt;/p&gt;&lt;p&gt;This command will display all the SSH (tcp:22) connections. So, you can see who has intruded in your system using SSH. This will also give process ID (PID) or process name, which you can terminate using KILL command.&lt;/p&gt;&lt;p&gt;[ use man page for each command in details]&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;#ifstat&lt;/p&gt;&lt;p&gt;#ethtool [ethernet interface name] --&gt; this command can used to see if the interface is physically down or not &lt;/p&gt;&lt;p&gt;e.g # ethtool eth1&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;#netstat -i&lt;/p&gt;&lt;p&gt;#netstat -s&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;To get the BIOS information &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;#dmidecode&lt;/p&gt;&lt;p style="color: rgb(153, 0, 0); font-weight: bold;"&gt;To list the hardware&lt;/p&gt;&lt;p&gt;#hwinfo&lt;/p&gt;&lt;p&gt;or&lt;/p&gt;&lt;p&gt;#lshw&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[Note: lshw is not the linux project. If you want to use lshw, you have to download and install the RPM for that command http://ezix.org/project/wiki/HardwareLiSter ]&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;Bash Script to collect system information:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This is one of the simple script file to pull basic and informative information about your server:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;#********************&lt;/p&gt;&lt;p&gt;#ServerReport.sh&lt;/p&gt;&lt;p&gt;# Created by DShah&lt;/p&gt;&lt;p&gt;# Please use it at your own risk&lt;br /&gt;&lt;/p&gt;&lt;p&gt;#********************&lt;br /&gt;&lt;/p&gt;&lt;p&gt;#!/bin/bash&lt;br /&gt;miniDivider(){&lt;br /&gt;&lt;br /&gt;   echo "*******************************************************************";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;serverInfo() {&lt;br /&gt;&lt;br /&gt;   uname -a&lt;br /&gt;   cat /etc/*release&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;diskInfo() {&lt;br /&gt;&lt;br /&gt;#       fdisk -l&lt;br /&gt;   df -h&lt;br /&gt;   iostat&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;memoryInfo() {&lt;br /&gt;&lt;br /&gt;   free -m&lt;br /&gt;   vmstat&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;cpuInfo() {&lt;br /&gt;&lt;br /&gt;   mpstat&lt;br /&gt;   mpstat -P ALL&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;overallInfo() {&lt;br /&gt;&lt;br /&gt;   top -b -n2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;networkInfo() {&lt;br /&gt;   netstat -s&lt;br /&gt;   miniDivider&lt;br /&gt;&lt;br /&gt;   sleep 2&lt;br /&gt;   netstat -s&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;dividerLine(){&lt;br /&gt;&lt;br /&gt;echo "########################################################################";&lt;br /&gt;&lt;br /&gt;echo "########################################################################";&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;fileName="serverReporting.txt"&lt;br /&gt;&lt;br /&gt;rm $fileName&lt;br /&gt;touch $fileName&lt;br /&gt;&lt;br /&gt;echo "ServerInfo Reporting"&lt;br /&gt;serverInfo &gt;&gt; $fileName&lt;br /&gt;dividerLine &gt;&gt; $fileName&lt;br /&gt;&lt;br /&gt;echo "DiskInfo Reporting"&lt;br /&gt;diskInfo &gt;&gt; $fileName&lt;br /&gt;dividerLine &gt;&gt; $fileName&lt;br /&gt;&lt;br /&gt;echo "MemoryInfo Reporting"&lt;br /&gt;memoryInfo &gt;&gt; $fileName&lt;br /&gt;dividerLine &gt;&gt; $fileName&lt;br /&gt;&lt;br /&gt;echo "CPUInfo Reporting"&lt;br /&gt;cpuInfo &gt;&gt; $fileName&lt;br /&gt;dividerLine &gt;&gt; $fileName&lt;br /&gt;&lt;br /&gt;echo "Network Info Reporting"&lt;br /&gt;networkInfo &gt;&gt; $fileName&lt;br /&gt;dividerLine &gt;&gt; $fileName&lt;br /&gt;&lt;br /&gt;echo "Top command reporting";&lt;br /&gt;overallInfo &gt;&gt; $fileName&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-7845251958412841975?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/7845251958412841975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=7845251958412841975' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7845251958412841975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7845251958412841975'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2010/03/some-slick-commands-much-more-powerful.html' title='Some slick Unix/Linux commands... much more powerful and useful'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6935269455423402498</id><published>2009-12-27T16:19:00.000-08:00</published><updated>2009-12-27T16:49:20.611-08:00</updated><title type='text'>Port Forwarding Rule Setup in Actiontec router (VZ WIRELESS ROUTER)</title><content type='html'>First of all login in router access page; most often it is  http://92.168.1.1&lt;br /&gt;&lt;br /&gt;In my case&lt;br /&gt;&lt;br /&gt;public IP: 72.B.C.D  (I haven't provied my public ip for my privacy)&lt;br /&gt;private IP: 192.168.1.x&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Step: 1 Click on  Firewall Setting--&gt; Port Forwarding --&gt; New Entry&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf7Ji5VEqI/AAAAAAAAATU/pCDXpRbnZXM/s1600-h/Picture+2.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 225px;" src="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf7Ji5VEqI/AAAAAAAAATU/pCDXpRbnZXM/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5420076817968337570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;step: 2 Give the device name (LAN device) where your outer world need to have access; for e.g Web server in LAN hosted on computer named as 'windows' with IP add 192.168.1.16&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_S5ERo_32CN8/Szf7l5aDqwI/AAAAAAAAATc/1QH0Kci--qM/s1600-h/Picture+3.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 173px;" src="http://4.bp.blogspot.com/_S5ERo_32CN8/Szf7l5aDqwI/AAAAAAAAATc/1QH0Kci--qM/s400/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5420077305047526146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;step 3: We selected "Forward to Port : User Defined " so that we can customize the way (I mean the Port) we can access LAN service from outside world. I named my WebServer application as DevApp.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf76JhDHJI/AAAAAAAAATk/_DlmgJHnlP0/s1600-h/Picture+4.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 127px;" src="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf76JhDHJI/AAAAAAAAATk/_DlmgJHnlP0/s400/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5420077652969200786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;step 4: Now configure the service/Application. The simplest rule would be: Any one can access through the my defined Port (say 8081) using TCP protocol&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_S5ERo_32CN8/Szf76Q-fsmI/AAAAAAAAATs/17825xON6ZA/s1600-h/Picture+5.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 126px;" src="http://2.bp.blogspot.com/_S5ERo_32CN8/Szf76Q-fsmI/AAAAAAAAATs/17825xON6ZA/s400/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5420077654971757154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;step 5: now we should select OK&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_S5ERo_32CN8/Szf76mEDQPI/AAAAAAAAAT0/HdmZgXjTaxA/s1600-h/Picture+6.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 124px;" src="http://3.bp.blogspot.com/_S5ERo_32CN8/Szf76mEDQPI/AAAAAAAAAT0/HdmZgXjTaxA/s400/Picture+6.png" alt="" id="BLOGGER_PHOTO_ID_5420077660632203506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;step 6: Forward to Port : the port where my web server is listening. In my case my web server is listening at 192.168.1.16:8081  (FYI - Listen port can be changed in httpd.conf  e.g Listen 192.168.1.16:8081)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf8rigda0I/AAAAAAAAAT8/PrVusasnIHQ/s1600-h/Picture+7.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 157px;" src="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf8rigda0I/AAAAAAAAAT8/PrVusasnIHQ/s400/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5420078501491206978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;step 7:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf8r_rseFI/AAAAAAAAAUE/z9-b1tpsBOw/s1600-h/Picture+8.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 160px;" src="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf8r_rseFI/AAAAAAAAAUE/z9-b1tpsBOw/s400/Picture+8.png" alt="" id="BLOGGER_PHOTO_ID_5420078509322958930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///Users/erdevendra/Desktop/Picture%203.png" alt="" /&gt;&lt;img src="file:///Users/erdevendra/Desktop/Picture%207.png" alt="" /&gt;step 8: Once the rule is defined, it should be refreshed in router or applied.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf8sT_GHmI/AAAAAAAAAUM/w_N_znn2uo0/s1600-h/Picture+9.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 176px;" src="http://1.bp.blogspot.com/_S5ERo_32CN8/Szf8sT_GHmI/AAAAAAAAAUM/w_N_znn2uo0/s400/Picture+9.png" alt="" id="BLOGGER_PHOTO_ID_5420078514773040738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;step 9: Click Refresh/Apply&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_S5ERo_32CN8/Szf9ZAxmPrI/AAAAAAAAAUU/vLTBxfgZDiI/s1600-h/Picture+10.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 170px;" src="http://4.bp.blogspot.com/_S5ERo_32CN8/Szf9ZAxmPrI/AAAAAAAAAUU/vLTBxfgZDiI/s400/Picture+10.png" alt="" id="BLOGGER_PHOTO_ID_5420079282710265522" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6935269455423402498?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6935269455423402498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6935269455423402498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6935269455423402498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6935269455423402498'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/12/port-forwarding-rule-setup-in-actiontec.html' title='Port Forwarding Rule Setup in Actiontec router (VZ WIRELESS ROUTER)'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_S5ERo_32CN8/Szf7Ji5VEqI/AAAAAAAAATU/pCDXpRbnZXM/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-4412729874332223760</id><published>2009-10-11T22:30:00.000-07:00</published><updated>2009-10-11T22:40:32.569-07:00</updated><title type='text'>My Guest OS cannot ping My Host OS  in Virtual Box</title><content type='html'>The default networking setup for VirtualBox is NAT, which means basically that your host computer is acting like a router, creating a virtual network for your virtual machine to connect to. Naturally, this network has it's own IP scheme.&lt;br /&gt;&lt;br /&gt;I have a router(gateway) 192.168.1.1 (255.255.255.0)&lt;br /&gt;host computer 192.168.1.5&lt;br /&gt;&lt;br /&gt;I was trying to manually set up my guest to static ip 192.168.1.12 and found it cannot ping my gateway, neither can access internet.&lt;br /&gt;By default the ip of guest is 10.0.2.15, it can access internet and my router(192.168.1.1)&lt;br /&gt;&lt;br /&gt;To fix the issue, I had to use Bridge Network. &lt;br /&gt;1) Virtual Box -&gt; SETTINGS -&gt; NETWORK -&gt; Bridge -&gt; Edit Setting -&gt; Add your active adapter for internet/network (in my case I am using Wireless Adapter en1: AirPort of my MacBook ) &lt;br /&gt;&lt;br /&gt;2) Then I started my guest OS. Say I have Windows XP as my guest OS. I need to edit the network settings. Manually add the IP ADD, DEFAULT GATEWAY, DNS. Since my router act as DNS for my LAN, I used DNS same as my DEFAULT GATEWAY.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-4412729874332223760?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/4412729874332223760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=4412729874332223760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4412729874332223760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4412729874332223760'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/10/my-guest-os-cannot-ping-my-host-os-in.html' title='My Guest OS cannot ping My Host OS  in Virtual Box'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-5880778114902648734</id><published>2009-05-22T11:26:00.001-07:00</published><updated>2009-05-22T11:26:40.259-07:00</updated><title type='text'>HACMP</title><content type='html'>&lt;a href="http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm.itame.doc_5.1/am51_webinstall338.htm"&gt;http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm.itame.doc_5.1/am51_webinstall338.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-5880778114902648734?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/5880778114902648734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=5880778114902648734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5880778114902648734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5880778114902648734'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/05/hacmp.html' title='HACMP'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6880874585982814067</id><published>2009-04-17T07:06:00.000-07:00</published><updated>2009-04-20T18:22:23.217-07:00</updated><title type='text'>System Administrator's Role</title><content type='html'>&lt;span style="font-weight: bold;"&gt;System Administrator's Role: &lt;/span&gt;(BASIC ROLES)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Preinstallation planning &lt;/li&gt;&lt;li&gt;Install - hardware, software, network &lt;/li&gt;&lt;li&gt;Manage - user accounts, system resources, licenses &lt;/li&gt;&lt;li&gt;Backup/recovery &lt;/li&gt;&lt;li&gt;Define subsystems &lt;/li&gt;&lt;li&gt;Performance monitoring, capacity planning&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;SAN  &lt;/span&gt;Requirements:&lt;br /&gt;&lt;br /&gt;IBM DS8300 frame &lt;br /&gt;SVC  (SAN Volume Controller)&lt;br /&gt;EMC Symmetrix 8830 &lt;br /&gt;EMC Clariion CX700 &amp;amp; CX300 &lt;br /&gt;Cisco and Brocade Switches &lt;br /&gt;IBMs TSM (Tivoli Storage Manager) and TPC (TotalProductivity Center)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6880874585982814067?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6880874585982814067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6880874585982814067' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6880874585982814067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6880874585982814067'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/system-administrators-role.html' title='System Administrator&apos;s Role'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-3692024098326340104</id><published>2009-04-17T06:36:00.000-07:00</published><updated>2009-04-17T07:05:32.708-07:00</updated><title type='text'>Some fundametals and tweaks in AIX</title><content type='html'>Default Multi-user runlevel in AIX : runlevel 2&lt;br /&gt;&lt;br /&gt;To bring down system in Maintenance mode/Single user mode&lt;br /&gt;#shutdown -m&lt;br /&gt;&lt;br /&gt;To bring back system in runlevel 2&lt;br /&gt;#telinit 2&lt;br /&gt;&lt;br /&gt;*********************************&lt;br /&gt;SRC ( System Resource Controller) for easy management of &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;group&lt;/span&gt; of  Deamon/Subsystem in AIX&lt;br /&gt;&lt;br /&gt;#lssrc -a&lt;br /&gt;#ps -ef&lt;br /&gt;&lt;br /&gt;notice the output of above commands&lt;br /&gt;&lt;br /&gt;#stopsrc -s &lt;deamon subsystem=""&gt;&lt;br /&gt;#startsrc -s &lt;deamon subsystem=""&gt;&lt;br /&gt;#refresh -s &lt;deamon subsystem=""&gt; : this command enables deamon to reread any of it's configuration file; so whenever we made any changes in deamon config files, we can use refresh command to bring the changes into effect.&lt;br /&gt;&lt;br /&gt;Not all process are controller by SRC/ srcmstr; those process which are not controlled by SRC can be killed by&lt;br /&gt;#kill &lt;pid&gt;&lt;br /&gt;&lt;br /&gt;*****************************&lt;br /&gt;&lt;br /&gt;Manage the System Environment (e.g time, license, characteristics of OS etc)&lt;br /&gt;&lt;br /&gt;#smit system&lt;br /&gt;&lt;br /&gt;Manage the system language environment&lt;br /&gt;&lt;br /&gt;#smit mlang&lt;br /&gt;&lt;br /&gt;***************************&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;SU command:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;The su command allows you to assume the permissions of any user whose password you&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;know.&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;Every time the su command is used an entry is placed in the file &lt;span style="font-weight: bold;"&gt;/var/adm/sulog&lt;/span&gt; (this is an&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;ASCII text file).  This makes it easy to record access as the superuser.   Normal logins are&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;recorded in the file &lt;span style="font-weight: bold;"&gt;/var/adm/wtmp&lt;/span&gt;.  To read the contents of this file use the command:&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;who /var/adm/wtmp.&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;The su command can also be specified with the - option.  The - specifies that the process &lt;/span&gt;&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;environment is to be set as if the user had logged into the system using the login &lt;/span&gt;&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;command.  Nothing in the current environment is propagated to the new shell. For &lt;/span&gt;&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;example, using the su command without the - option, allows you to have all of the &lt;/span&gt;&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;accompanying permission of root while keeping your own working environment. &lt;/span&gt;&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;br /&gt;&lt;/div&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;deamon subsystem=""&gt;&lt;pid&gt;&lt;/pid&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/deamon&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-3692024098326340104?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/3692024098326340104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=3692024098326340104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3692024098326340104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/3692024098326340104'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/some-fundametals-and-tweaks-in-aix.html' title='Some fundametals and tweaks in AIX'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-9111747410744706410</id><published>2009-04-17T05:57:00.000-07:00</published><updated>2009-04-17T06:12:07.480-07:00</updated><title type='text'>Boot Image of AIX</title><content type='html'>Using Bootlist from System ROS/BIOS/EFI (whatever you say) , System locates the boot device and attempts to load the Boot Image of OS to the Memory. So, the question comes: &lt;span style="font-weight: bold;"&gt;What is the Boot Image?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Boot &lt;span style="font-style: italic;"&gt;&lt;/span&gt;image of AIX contains the files required to boot the AIX system, including the AIX kernel, the RAMFS (RAM file system), and the copy of Base ODM (Object Data Manager)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ROS : Read Only Storage&lt;br /&gt;BIOS : Basic Input Output System&lt;br /&gt;EFI : Extensible Firmware Interface&lt;br /&gt;&lt;br /&gt;System Initialization in Brief:&lt;br /&gt;&lt;br /&gt;In General&lt;br /&gt; Hardware Initialization -- Low Level Configuration -- Load Boot Image -- AIX Initialization&lt;br /&gt;&lt;br /&gt;For POWER servers:&lt;br /&gt;  System ROS ---- SMS/BOOTLIST ---- Software ROS------ BLV----INIT&lt;br /&gt;&lt;br /&gt;For Intel Itanium -based Servers&lt;br /&gt;  BIOS/EFI ---  Set up EFI boot manager --- EFI system partition contains bootloader boot.efi ---physical partition contains BLV -- AIX Initialization&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-9111747410744706410?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/9111747410744706410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=9111747410744706410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/9111747410744706410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/9111747410744706410'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/boot-image-of-aix.html' title='Boot Image of AIX'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-1896755695461874821</id><published>2009-04-16T16:25:00.000-07:00</published><updated>2009-04-16T16:31:01.338-07:00</updated><title type='text'>Startup modes in AIX</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 20.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Basically there are 4 startup modes in AIX&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;1. NORMAL MODE&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; : Multiuser mode; All process are running&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;2. SYSTEM MANAGEMENT SERVICES &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;: it runs from FIRMWARE and sets bootlist; it's not AIX&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;3. MAINTENANCE :&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; Singer User mode; password recovery and system recovery for the system which can't undergo normal boot.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Arial"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;4. DIAGNOSTICS : &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;AIX diagnostics&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-1896755695461874821?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/1896755695461874821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=1896755695461874821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/1896755695461874821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/1896755695461874821'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/startup-modes-in-aix.html' title='Startup modes in AIX'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-5446410093015212713</id><published>2009-04-13T11:07:00.000-07:00</published><updated>2009-04-14T11:05:39.981-07:00</updated><title type='text'>NIM on LINUX for AIX</title><content type='html'>Real Good explanation.. seems to be perfect..  but i don't know it will work or not.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.unix.com/aix/44512-nim-linux-machine-real.html"&gt;http://www.unix.com/aix/44512-nim-linux-machine-real.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.nasi.com/servers.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-5446410093015212713?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/5446410093015212713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=5446410093015212713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5446410093015212713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5446410093015212713'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/nim-on-linux-for-aix.html' title='NIM on LINUX for AIX'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-9184241375227564692</id><published>2009-04-12T20:50:00.000-07:00</published><updated>2009-04-12T20:53:46.274-07:00</updated><title type='text'>Snapshot : quick magic backup</title><content type='html'>&lt;h2&gt;Snapshots&lt;/h2&gt; &lt;p&gt;This is a very useful feature. Many of us have the situation where important data needs to be backed up, but it cannot be used while the backup is running because then the backed up files would be out of sync with each other. For example, you have an accounting system that is recording orders. The accounts receivable file gets backed up now, and you take an order. Both a/r and the customer file get updated to reflect the new order, but a/r has already been backed up. When the customer file finally makes it to tape, it's not consistent with a/r, and of course it needs to be. Without snapshots, your only recourse is to stop taking orders while the backup runs. If you have lots of disk space, you could copy the whole accounting system and backup the copy, but that can take a lot of time too, and you may not have the space. Snapshots are the solution. Before you do the next step, make sure you've put a few files in /little, and make at least one of them unimportant. Then create the snapshot.&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-left: 20px; margin-right: 8px; font-family: courier;"&gt;&lt;br /&gt;lvcreate --size 200M --snapshot -n mysnap /dev/Volume00/mylv&lt;br /&gt;mkdir /mylvsnap&lt;br /&gt;mount /dev/Volume00/mysnap /mylvsnap&lt;br /&gt;df&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Right off the bat you should have noticed something strange. We created mysnap very specifically with a size of 200MB, and trust me, that's all it took away from us, but df shows it being the same size (6GB) as mylv. We'll get back to why this is in a minute, but first take a look at the files in /snap. They are identical to the files in /mylv, right? OK, now go edit a file in /mylv. Does it change in /snap? No, it does not. Remove a file in /mylv - it's still there in /snap. Add a new file to /mylv, and that does NOT appear in /snap. How is this done, and most especially how is it done in 200MB?&lt;/p&gt; &lt;h2&gt;It's not magic&lt;/h2&gt; &lt;p&gt;OK, it is magic. What is going on is that /snap contains absolutely nothing UNLESS something changes back at /mylv. If you ask for a file from /snap that has not changed, the data is read right from /mylv. But if a file IS changed, before the change is written, the data blocks that don't yet have the changes are written to /snap. Note that entire files are NOT written, just data blocks that are about to change. So, as long as we don't change more than 200MB worth of data in /mylv, we can have our cake and eat it too. Our procedure will be:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;Stop using the filesystem, shut down any databases that need to be shutdown etc.&lt;/li&gt;&lt;li&gt;Create the snapshot&lt;/li&gt;&lt;li&gt;Start up our databases, go back to work.&lt;/li&gt;&lt;li&gt;Start backing up /snap&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Our time without access is minutes or seconds - just however long it takes to stop the processes and restart them, basically. The backup can take its sweet time. Well it can if it doesn't take so long that we need more than 200 MB to store our data that is changing. That does mean that the size of mysnap does have to be a bit of an educated guess. It also means that as soon as you are done with the backup, mysnap should be removed:&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-left: 20px; margin-right: 8px; font-family: courier;"&gt;&lt;br /&gt;umount /snap&lt;br /&gt;lvremove /dev/Volume00/msnap&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;If you don't remove it, it will go on copying data as it is changed and eventually it will run out of room. You can't just leave it there for next time!&lt;/p&gt; &lt;p&gt;Some other helpful links:&lt;/p&gt; &lt;p&gt;&lt;a href="http://tldp.org/HOWTO/LVM-HOWTO/index.html"&gt;http://tldp.org/HOWTO/LVM-HOWTO/index.html&lt;/a&gt;&lt;br /&gt; &lt;a href="http://ds9a.nl/lvm-howto/HOWTO/cvs/lvm-howto/output/lvm-howto.html"&gt; http://ds9a.nl/lvm-howto/HOWTO/cvs/lvm-howto/output/lvm-howto.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;http://aplawrence.com/Linux/lvm.html&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-9184241375227564692?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/9184241375227564692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=9184241375227564692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/9184241375227564692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/9184241375227564692'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/snapshot-quick-magic-backup.html' title='Snapshot : quick magic backup'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-8476471107041461217</id><published>2009-04-09T19:36:00.000-07:00</published><updated>2009-04-09T19:52:04.424-07:00</updated><title type='text'>Backup and Restore</title><content type='html'>&lt;strong&gt;Tar (Tape Archive)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;It's a backup utility to create archive in Tape.&lt;br /&gt;&lt;br /&gt;Syntax:&lt;br /&gt;tar [options] [archive name/device name/destination] [files to be archived/source]&lt;br /&gt;&lt;br /&gt;options can be : -c create&lt;br /&gt;-v verbose&lt;br /&gt;-x extract&lt;br /&gt;-t show the contents&lt;br /&gt;-z to zip the content&lt;br /&gt;&lt;br /&gt;eg. #tar -cvf /dev/st0 /home&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using dump and restore:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;dump: it's utility to make a backup of files in ext filesystem&lt;br /&gt;&lt;br /&gt;syntax:&lt;br /&gt;#dump [options] [destination] [source]&lt;br /&gt;restore: it's utility to restore a backup&lt;br /&gt;&lt;br /&gt;Type of backup:&lt;br /&gt;1. Full Backup --&gt; 0&lt;br /&gt;2. Incremental Backup --&gt; 1-9&lt;br /&gt;e.g #dump -0uf /dev/st0 /home&lt;br /&gt;&lt;br /&gt;0--&gt; for full backup&lt;br /&gt;u--&gt; Update the file /etc/dumpdates after a successful dump&lt;br /&gt;f --&gt; Write the backup to file; file may be a special device file like /dev/st0 (a tape drive), /dev/rsd1c (a floppy disk drive), an ordinary file, or - (the standard output)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#dump -1uf /dev/st0 /home&lt;br /&gt;&lt;br /&gt;1--&gt; for first incremental backup&lt;br /&gt;&lt;br /&gt;RESTORE:&lt;br /&gt;&lt;br /&gt;#cd / ; mkdir extract&lt;br /&gt;#cd /extract&lt;br /&gt;#restore -rf /dev/st0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-8476471107041461217?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/8476471107041461217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=8476471107041461217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8476471107041461217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8476471107041461217'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/backup-and-restore.html' title='Backup and Restore'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-5541128987262177839</id><published>2009-04-09T16:55:00.000-07:00</published><updated>2011-10-11T11:40:25.390-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><title type='text'>Shell Scripting plus AWK  and SED</title><content type='html'>&lt;strong&gt;Shell Script&lt;/strong&gt; is series of command written in plain text file. Shell script is just like batch file is MS-DOS but have more power than the MS-DOS batch file&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;==========================================================&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;awk utility&lt;/strong&gt; is powerful data manipulation/scripting programming language (In fact based on the C programming Language). Use awk to handle complex task such as calculation, database handling, report creation etc.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;General Syntax of awk:&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Syntax:awk -f {awk program file} filename&lt;br /&gt;&lt;br /&gt;awk Program contains are something as follows:&lt;br /&gt;&lt;br /&gt;Pattern&lt;br /&gt;{&lt;br /&gt;action 1&lt;br /&gt;action 2&lt;br /&gt;action N }&lt;br /&gt;&lt;br /&gt;awk reads the input from given file (or from stdin also) one line at a time, then each line is compared with pattern. If pattern is match for each line then given action is taken. Pattern can be regular expressions.&lt;br /&gt;&lt;br /&gt;======================================================&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SED is a stream editor.&lt;/strong&gt; A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). SED works by making only one pass over the input(s), and is consequently more efficient.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;General Syntax of sed&lt;/em&gt;&lt;br /&gt;Syntax:&lt;br /&gt;sed -option 'general expression' [data-file]&lt;br /&gt;sed -option sed-script-file [data-file]&lt;br /&gt;&lt;br /&gt;&lt;a href="http://freeos.com/guides/lsst/index.html"&gt;http://freeos.com/guides/lsst/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-5541128987262177839?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/5541128987262177839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=5541128987262177839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5541128987262177839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5541128987262177839'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/04/shell-scripting-plus-awk-and-sed.html' title='Shell Scripting plus AWK  and SED'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6304261389632079359</id><published>2009-03-29T08:54:00.000-07:00</published><updated>2009-03-29T09:05:01.885-07:00</updated><title type='text'>AIX Backup in short and sweet</title><content type='html'>Aix is a unix based os developed by IBM and was originally released in the mid 80s for PC RT. When IBM released the RS/6000 in 1992, it released AIX 3.1 and built in is a mksysb script to do a full rootvg or OS backup. Other volume groups are not touched by this script. It was aimed at scsi tape drives. When booted from tape, the system would be restore rootvg to exactly what it contained when it was backed up. When finished, the system reboots. IBM never supported writing to cd but went directly to dvd. A mksysb can be written to dvd and then booted and restored from dvd. This function would be VERY helpful to linux releases or unix released. What was described earlier is simillar to a product in AIX called Network Install Manager - nim. Using nim, a root user can do a bootable backup to a remote system and then restore from that system. A nim restore is the fastest form of installing AIX and is used by manufacturing to preload systems. Today, at AIX 6.1, nim and mksysb are mature and trusted processes. Non rootvg volume groups are backed up using savevg. savevg is better than tar as it creates logical volumes the correct size and correctly names the mount points and then restores the data. Again, its a mature process. Even open files are backed up with mksysb and savevg although any save to the file after its backed up isn't reflected. A mksysb has 3 components, A boot image, a complete list of files and the actual backup. When the mksysb is taken, it compares what is on the list to what is on the tape in the backup. They must agree.&lt;br /&gt;&lt;br /&gt;Another option is LVM snapshot for your system/important directories and then tar/pipe them to lzma (faster/better than bzip2). You can write the scripts yourself or search for somebody else's on google.LVM snapshotting allows you to also capture the logical volumes and only needs the space that the delta data would require. You can back up the snapshot and ensure a consistent state, then destroy the snapshot.&lt;br /&gt;&lt;br /&gt;OPEN SOURCE DISASTER RECOVERY SOFTWARE: &lt;a href="http://www.mondorescue.org/"&gt;http://www.mondorescue.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can also try &lt;a href="http://www.blogger.com/www.storix.com/linuxbackup?gclid=COagjZnByJkCFRJhnAodhEepvQ"&gt;STORIX&lt;/a&gt; but it's not free&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6304261389632079359?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6304261389632079359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6304261389632079359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6304261389632079359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6304261389632079359'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/03/aix-backup-in-short-and-sweet.html' title='AIX Backup in short and sweet'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-7577821802953148978</id><published>2009-02-01T21:35:00.000-08:00</published><updated>2011-10-11T11:58:57.952-07:00</updated><title type='text'>Ciphering/Encryption</title><content type='html'>In RHEL 5.2 we can see SHA-1 being used for the ciphering/encryption. It produces 160 bit digest from a message of width max length: (2^64-1) and based on the principles of MD4, MD5 message digest algorithms.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Sha1"&gt;http://en.wikipedia.org/wiki/Sha1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To view the installed cryptographic ciphers in Linux&lt;br /&gt;&lt;br /&gt;#cat /proc/crypto&lt;br /&gt;name         : crc32c&lt;br /&gt;driver       : crc32c-generic&lt;br /&gt;module       : kernel&lt;br /&gt;priority     : 0&lt;br /&gt;type         : digest&lt;br /&gt;blocksize    : 32&lt;br /&gt;digestsize   : 4&lt;br /&gt;&lt;br /&gt;name         : sha1&lt;br /&gt;driver       : sha1-generic&lt;br /&gt;module       : kernel&lt;br /&gt;priority     : 0&lt;br /&gt;type         : digest&lt;br /&gt;blocksize    : 64&lt;br /&gt;digestsize   : 20&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-7577821802953148978?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/7577821802953148978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=7577821802953148978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7577821802953148978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7577821802953148978'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/02/cipheringencryption.html' title='Ciphering/Encryption'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-7046490003844026878</id><published>2009-01-30T23:43:00.000-08:00</published><updated>2009-01-30T23:58:12.211-08:00</updated><title type='text'>Major and Minor numbers</title><content type='html'>Linux kernel treats all devices as file; they can be opened, closed, read and written using the same standard system calls. For every kind of Block and Character Devices, system creates the device files using &lt;strong&gt;mknod&lt;/strong&gt; command and they define the device as major and minor number.&lt;br /&gt;&lt;br /&gt;?? what... major and minor number....&lt;br /&gt;&lt;br /&gt;Don't worry, I am going to tell about major and minor number... ;-)&lt;br /&gt;&lt;br /&gt;To access any device, Operating System must be told what to do. All the routines for the specific device is jointly referred as Device Driver.&lt;br /&gt;&lt;br /&gt;All devices controlled by the same device driver have common MAJOR number. MINOR number is used to identify the different devices and their controllers.&lt;br /&gt;&lt;br /&gt;In another language, it can be said that: MAJOR number tells what kind of device it is and MINOR number tells about the characterstics/location of the device.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linux-tutorial.info/modules.php?name=MContent&amp;amp;pageid=94"&gt;http://www.linux-tutorial.info/modules.php?name=MContent&amp;amp;pageid=94&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-7046490003844026878?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/7046490003844026878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=7046490003844026878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7046490003844026878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/7046490003844026878'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/01/major-and-minor-numbers.html' title='Major and Minor numbers'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-8321565436726088938</id><published>2009-01-04T14:02:00.000-08:00</published><updated>2009-01-05T11:19:00.111-08:00</updated><title type='text'>Concept on SAN and Switches</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ERo_32CN8/SWJc0gdut1I/AAAAAAAAAP4/V071y1DkOCo/s1600-h/san.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 283px;" src="http://1.bp.blogspot.com/_S5ERo_32CN8/SWJc0gdut1I/AAAAAAAAAP4/V071y1DkOCo/s400/san.JPG" alt="" id="BLOGGER_PHOTO_ID_5287890969623967570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In above block diagram of &lt;a href="http://rapidtechguide.blogspot.com/2008/11/san-storage.html"&gt;SAN system&lt;/a&gt;, we can see mulitple servers : AIX,  HP, LINUX and may be SUN, WINDOWS etc connected to storage like EMC, SAN, HITACHI (HDS) through Fibre Channel.&lt;br /&gt;&lt;br /&gt;In between Servers and Storage, we can see Switches also called as Fabric. This switch allows the soft zoning in between the servers and storage avoiding direct connection between Servers and Storage.&lt;br /&gt;&lt;br /&gt;(SOFT ZONING: It is the logical connection rather than hard connection between the servers and storage )&lt;br /&gt;&lt;br /&gt;In switch, we can activate and deactivate the created the zone in between Servers and Storage.&lt;br /&gt;&lt;br /&gt;Wait!!! I am missing something..&lt;br /&gt;To create the zoning in between the Server and the Storage, you must have &lt;a href="http://rapidtechguide.blogspot.com/2009/01/wwpn-world-wide-port-name.html"&gt;WWPN (World Wide Port Name)&lt;/a&gt; of either ends.&lt;br /&gt;&lt;br /&gt;FYI there is a GUI software called as EFCM for SAN managementt.&lt;br /&gt;&lt;br /&gt;==============================================================&lt;br /&gt;Another thing to notice in above block diagram is that, each server goes to storage via two switches. Why should we use multi path?&lt;br /&gt;Simple answer: For redundancy and multi path allows 2X speed of the data transfer.&lt;br /&gt;&lt;br /&gt;Now the next question arises: What controls the multipath?&lt;br /&gt;It's the multi-pathing software installed in the Servers. There are various types of mulitpating softwares. Basically there is MPIO (Multi Path I/O) which is default installed in AIX server.&lt;br /&gt;There is another software: SDD (Subsystem Device Driver)&lt;em&gt;&lt;/em&gt; that also controls multipath.&lt;br /&gt;It really depends upon your choice to use either MPIO or SDD.&lt;br /&gt;&lt;br /&gt;Multipath can also be considered as the technique employed for Load Balancing.&lt;br /&gt;&lt;br /&gt;=============================================================&lt;br /&gt;&lt;br /&gt;You know there are many questions in my mind.. ;-)&lt;br /&gt;Now how does the Server recognize the different vendors Storage devices?&lt;br /&gt;&lt;br /&gt;It's real easy answer.... It's again the software/filesets.. It's like a device driver which we call Host Attachment Software/Package.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now the bottom line concept for the SAN system to work, there are three softwares running in the servers: OS, Multipathing software and Host Attachment Software.&lt;br /&gt;&lt;br /&gt;================================================================&lt;br /&gt;&lt;br /&gt;Are you interested in Switch Trunking? If yes, you can go through it, ok.. Otherwise skip it.. :-)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_S5ERo_32CN8/SWE9MMe0bxI/AAAAAAAAAPY/Qtkj72iX2Ng/s1600-h/ISL.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 104px;" src="http://4.bp.blogspot.com/_S5ERo_32CN8/SWE9MMe0bxI/AAAAAAAAAPY/Qtkj72iX2Ng/s400/ISL.JPG" alt="" id="BLOGGER_PHOTO_ID_5287574717227888402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;In above block diagram it says ISL (Inter Switch Link). If the two switches are connected via ISL then this is called as Trunking. And both of the switches behave as a single switch. This increases number of possible switching. This also helps in load balancing.&lt;br /&gt;&lt;br /&gt;(FYI: If the ports connected by ISL, the port is called as E Port. Similarly if connected by Fiber, the port is called as F Port. If nothing connected , the port is called G Port)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_S5ERo_32CN8/SWE_S-Ap_4I/AAAAAAAAAPg/mlL5tkdlbb0/s1600-h/ISL2.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 104px;" src="http://4.bp.blogspot.com/_S5ERo_32CN8/SWE_S-Ap_4I/AAAAAAAAAPg/mlL5tkdlbb0/s400/ISL2.JPG" alt="" id="BLOGGER_PHOTO_ID_5287577032625618818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;There can be more trunking lines in between two switches for efficient load balancing and efficient switching.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;In SAN system, Domain ID represents Switch. Usually you will find the following notation:&lt;br /&gt;97(1) which implies Switch 1 Port 97&lt;br /&gt;&lt;br /&gt;Go and find about QLogic and Emulex...&lt;br /&gt;&lt;br /&gt;Hey by the way, I am trying to share only my knowledge. Don't rely 100% in it.. bcoz technology is ever changing. I am trying to update my every postings.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_S5ERo_32CN8/SWE08BIdO4I/AAAAAAAAAPA/d3sUlloOtqE/s1600-h/san.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-8321565436726088938?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/8321565436726088938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=8321565436726088938' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8321565436726088938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8321565436726088938'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/01/concept-on-san-and-switches.html' title='Concept on SAN and Switches'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_S5ERo_32CN8/SWJc0gdut1I/AAAAAAAAAP4/V071y1DkOCo/s72-c/san.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-741715584249151168</id><published>2009-01-03T23:23:00.001-08:00</published><updated>2009-01-03T23:27:46.056-08:00</updated><title type='text'>WWPN (World Wide Port Name)</title><content type='html'>&lt;span name="intelliTxt" id="intellitxt"&gt;(&lt;b&gt;W&lt;/b&gt;orld&lt;b&gt;W&lt;/b&gt;ide &lt;b&gt;P&lt;/b&gt;ort &lt;b&gt;N&lt;/b&gt;ame) The unique serial number burned into Fibre Channel adapters that identifies that network port from all others. The WWPN is the Fibre Channel counterpart of the MAC  address in Ethernet adapters.&lt;br /&gt;&lt;br /&gt;For the pretty clear concept of FIBRE CHANNEL go to :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pcmag.com/encyclopedia_term/0,2542,t=Fibre+Channel&amp;amp;i=43129,00.asp"&gt;http://www.pcmag.com/encyclopedia_term/0,2542,t=Fibre+Channel&amp;amp;i=43129,00.asp&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-741715584249151168?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/741715584249151168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=741715584249151168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/741715584249151168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/741715584249151168'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/01/wwpn-world-wide-port-name.html' title='WWPN (World Wide Port Name)'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-8148107547921495867</id><published>2009-01-03T23:03:00.000-08:00</published><updated>2009-01-04T14:01:56.986-08:00</updated><title type='text'>IBM server series</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;P series:&lt;/span&gt;&lt;/span&gt; POWER series (Performance Enhanced With Enhanced RISC)&lt;br /&gt;            To run AIX server&lt;br /&gt;&lt;ul class="ibm-bullet-list"&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/blades/index.html" title="" target="" class="ibm-feature-link"&gt;IBM Power Blade servers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/520/index.html" title="" target="" class="ibm-feature-link"&gt;IBM Power 520 Express&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/550/index.html" title="" target="" class="ibm-feature-link"&gt;IBM Power 550 Express&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/560/index.html" class="ibm-feature-link"&gt;IBM Power 560 Express&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/570/index.html" title="" target="" class="ibm-feature-link"&gt;IBM Power 570&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/575/index.html" title="" target="" class="ibm-feature-link"&gt;IBM Power 575&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www-03.ibm.com/systems/power/hardware/595/index.html" title="" target="" class="ibm-feature-link"&gt;IBM Power 595&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;i series:&lt;/span&gt;&lt;/span&gt; To run ios&lt;br /&gt;    &lt;em&gt;Power Systems including AS/400, iSeries, and System i&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Z series:&lt;/span&gt;&lt;/span&gt; Mainframe computers (developed only by IBM)&lt;br /&gt;&lt;br /&gt;     &lt;a href="http://www-03.ibm.com/systems/z/hardware/index.html"&gt;http://www-03.ibm.com/systems/z/hardware/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;DS series:&lt;/span&gt;&lt;/span&gt; for data storage&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;X series:&lt;/span&gt;&lt;/span&gt; x86 architectures INTEL processors;&lt;br /&gt;   &lt;em&gt;x86 servers for Windows and Linux&lt;br /&gt;     e.g for HMC (Hardware Management Console) server&lt;br /&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-8148107547921495867?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/8148107547921495867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=8148107547921495867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8148107547921495867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/8148107547921495867'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2009/01/ibm-server-series.html' title='IBM server series'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6650292326131173840</id><published>2008-12-28T22:21:00.000-08:00</published><updated>2008-12-28T22:24:24.163-08:00</updated><title type='text'>How do I install the Administration web app in TOMCAT?</title><content type='html'>&lt;p&gt;If you install Tomcat 5.5 binaries, the Administration web app is not bundled with it; this describes how to add the Administration web app to your Tomcat 5.5 installation. (Tomcat 4.1 comes with the Administration web app as part of the binary). &lt;/p&gt; &lt;p&gt;The following refers to a Tomcat 5.5 set up on Windows 2000, so your path names will be different on *nix platforms. In this example, Tomcat 5.5.17 in installed in &lt;em&gt;c:\Program Files\Apache Software Foundation\Tomcat 5.5&lt;/em&gt; (this is my &lt;strong&gt;CATALINA_HOME&lt;/strong&gt;). &lt;/p&gt; &lt;ol type="1"&gt;&lt;li&gt;&lt;p&gt;Unzip or untar (be careful to use GNU tar) the file containing the administration web app files (eg. &lt;em&gt;apache-tomcat-5.5.17-admin.zip&lt;/em&gt;) to a temporary directory, eg. &lt;em&gt;c:\temp&lt;/em&gt;. &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt;Copy &lt;em&gt;c:\temp\apache-tomcat-5.5.17\conf\Catalina\localhost\admin.xml&lt;/em&gt; to the directory &lt;em&gt;c:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\Catalina\localhost&lt;/em&gt;. &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt;Copy the entire directory tree &lt;em&gt;c:\temp\apache-tomcat-5.5.17\server\webapps\admin&lt;/em&gt; &lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;to the directory &lt;em&gt;c:\Program Files\Apache Software Foundation\Tomcat 5.5\server\webapps&lt;/em&gt;. This is an overlay, so \server\webapps is just pointing you to the \server\webapps, and the admin directory with its contents will be the only thing you see added there. &lt;/p&gt; &lt;ol type="1"&gt;&lt;li&gt;&lt;p&gt;Add a line to your &lt;em&gt;c:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\tomcat-users.xml&lt;/em&gt; file so that you have a user who has &lt;strong&gt;admin&lt;/strong&gt; role.  For example, add this line   just before the last line (containing &lt;strong&gt;&lt;/strong&gt;) of the file: &lt;/p&gt; &lt;ul&gt;&lt;li style="list-style-type: none;"&gt;&lt;p&gt;&lt;user username="admin" password="makesomethingup" roles="admin,manager"&gt; &lt;/user&gt;&lt;/p&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt;Restart Tomcat. &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt;Now when you visit &lt;em&gt;&lt;a rel="nofollow" href="http://localhost:8080/admin"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" width="11" height="11" /&gt; http://localhost:8080/admin&lt;/a&gt;&lt;/em&gt; you should see a page that asks for a user name and password. If you still see the "no longer loaded" error message in your browser, you must either force a full reload of the web page (in Firefox, hold down Shift key while clicking on the Reload button) or just restart your browser completely. &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="http://wiki.apache.org/tomcat/HowTo#head-f50555909547d981d0e2b030323632b26047013e"&gt;http://wiki.apache.org/tomcat/HowTo#head-f50555909547d981d0e2b030323632b26047013e&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6650292326131173840?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6650292326131173840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6650292326131173840' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6650292326131173840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6650292326131173840'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2008/12/how-do-i-install-administration-web-app.html' title='How do I install the Administration web app in TOMCAT?'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-2014436853169876779</id><published>2008-11-13T10:10:00.000-08:00</published><updated>2008-11-13T11:25:44.695-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIX'/><title type='text'>Storage System</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Physical Volume:&lt;/span&gt; Name for an actual disk e.g SSA, SCSI disk; a PV can belong to a VG only&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Volume Group: &lt;/span&gt;It is the largest unit of storage allocation; It contains multiple PV under a single VG name. The combined storage  of all the   PV makes a total space of VG which is used in turn by File Systems and Logical Volumes. A VG is splitted into PP; the size of PP within VG remains constant.&lt;br /&gt;&lt;br /&gt;     &lt;span style="color: rgb(204, 0, 0);"&gt;  Why to create separate VG? e.g datavg and rootvg.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;   &lt;span style="color: rgb(102, 0, 0);"&gt; ans: To separate userdata from OS files; Disaster Recovery; Data portability; Data integrity and security | Maintenance is easy  because you can update or reinstall OS without restoring data.&lt;br /&gt;           You can make VG unavailable using VARRYOFFVG.&lt;br /&gt;       There can be 255 VGs per System.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Physical Partition: &lt;/span&gt;PP is the division of PV. It is the basic unit of disk space allocation.&lt;br /&gt;Default max no. of     PP per PV is 1016. PP size cannot be changes dynamically but the  number of PP per PV can be changed dynamically in mulitples of 1016. (i.e 1016, 2032, ...)&lt;br /&gt;&lt;br /&gt;(Note: If you increase the more than 1016 PP per PV, then no. of PV per VG will be reduced)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Logical Volume: &lt;/span&gt;&lt;span&gt;LV contains one or more LP within the VG. LV may span the PV if the multiple PV within the VG. LV size may be increased dynamically using SMIT even when users are working on that LV. However, the size cannot be reduced easily.&lt;br /&gt;&lt;br /&gt;MAX PV=32 (128 BIG VG)&lt;br /&gt;MAX LV=255 (512 BIG VG)&lt;br /&gt;MAX VG =255 per system&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Logical Partition: &lt;/span&gt;&lt;span&gt;LP within a VG is the same size as PP&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;"&gt;LVM does mapping between LV (logical view of storage)  and PV (actual view of storage).&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-2014436853169876779?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/2014436853169876779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=2014436853169876779' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/2014436853169876779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/2014436853169876779'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2008/11/storage-system.html' title='Storage System'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-6540929125941572903</id><published>2008-11-13T09:59:00.000-08:00</published><updated>2008-11-13T10:10:39.569-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIX'/><title type='text'>Why LVM?</title><content type='html'>In traditional Storage System, there were many limitation:&lt;br /&gt;&lt;br /&gt;1. Requirement of Contiguous Disk Space&lt;br /&gt;2. Max partition size=Max Disk size (i.e Partition size cannot span multiple disks)&lt;br /&gt;   Thus no file system can be larger than Disk size&lt;br /&gt;3. Pre-plan the partition size requirement, as after creation of partition, the partition cannot be resized.&lt;br /&gt;&lt;br /&gt;To tackle with these problems, LVM (Logical Volume Manager) was developed.&lt;br /&gt;&lt;br /&gt;Benefits of LVM:&lt;br /&gt;&lt;br /&gt;1. LV solves the non-contiguous disk space requirement&lt;br /&gt;2. LV can span to mulitiple disks&lt;br /&gt;3. Dynamically increase LV size&lt;br /&gt;4. LV can be mirrored&lt;br /&gt;5. Harddisk easily added to the system.&lt;br /&gt;6. LV can be relocated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-6540929125941572903?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/6540929125941572903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=6540929125941572903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6540929125941572903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/6540929125941572903'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2008/11/why-lvm.html' title='Why LVM?'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-4813391228725110595</id><published>2008-11-11T12:17:00.000-08:00</published><updated>2008-11-11T12:30:38.955-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AIX'/><title type='text'>SAN storage</title><content type='html'>SAN (Storage Area Network):&lt;br /&gt;&lt;br /&gt;Why SAN?&lt;br /&gt;&lt;br /&gt;How many drives your standalone PC can have?&lt;br /&gt;ans: 2-3&lt;br /&gt;&lt;br /&gt;Is that enough for the organization?&lt;br /&gt;ans: of course not&lt;br /&gt;&lt;br /&gt;If you lose your drive, what happens?&lt;br /&gt;ans: total disaster, u lose all your data&lt;br /&gt;&lt;br /&gt;=================================&lt;br /&gt;ok then, SAN has all the solution...&lt;br /&gt;Make Storage section consisting huge array of drives and allocate LUNs (Logical Unit Number) to the clients as per they demand.&lt;br /&gt;Like One of my client need 2 GB for rootvg of AIX server. Then I allocate 1 LUN of 2 GB and give to the client.&lt;br /&gt;&lt;br /&gt;Following is the connection configuration in SAN:&lt;br /&gt;&lt;br /&gt;[100s of clients]-----HIGH SPEED FIBRE CHANNEL----[Tera byte storage]&lt;br /&gt;&lt;br /&gt;Clients get access to their LUN via Fibre Channel and thus can be said that they are physically connected.&lt;br /&gt;&lt;br /&gt;================================&lt;br /&gt;&lt;br /&gt;For Redundancy RAID is implemented&lt;br /&gt;&lt;br /&gt;RAID 0 --- striping (for high performance)&lt;br /&gt;RAID 1 --- mirroring (for safe side operation i.e even a single drive fails, u still have another as backup)&lt;br /&gt;RAID 5 --- parity bit enabled (data recovery even if one disk failed)&lt;br /&gt;&lt;br /&gt;===================================================================&lt;br /&gt;What about NAS?&lt;br /&gt;NAS is similar thing, but it uses Ethernet instead of Fibre Channel. So NAS is slower than SAN.&lt;br /&gt;&lt;br /&gt;Following is the connection configurtion in NAS&lt;br /&gt;&lt;br /&gt;[CLIENTS]------ETHERNET---------[SERVER]------------[STORAGE]&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/2663417406024921911-4813391228725110595?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/4813391228725110595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=4813391228725110595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4813391228725110595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/4813391228725110595'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2008/11/san-storage.html' title='SAN storage'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2663417406024921911.post-5340924483565468663</id><published>2008-11-11T09:32:00.000-08:00</published><updated>2008-11-11T10:16:54.616-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux boots in 2.97 seconds</title><content type='html'>&lt;p&gt;Eat your heart out, Microsoft&lt;/p&gt;  &lt;!-- /h2 --&gt;    &lt;p class="byline"&gt;        By &lt;a href="http://www.theinquirer.net/articles/flameAuthor/gb/inquirer/news/2008/11/11/linux-boots-seconds"&gt;Egan Orion&lt;/a&gt;:      &lt;span class="date"&gt;    Tuesday, 11 November 2008, 12:28 PM   &lt;/span&gt;  &lt;/p&gt;&lt;span name="intelliTxt" id="intelliTXT"  style="font-family:georgia;"&gt;&lt;p&gt;&lt;strong&gt;SOFTWARE ENGINEERS&lt;/strong&gt; at Japan's embedded Linux software vendor Lineo announced technology last week that can boot a low-power computer system within 2.97 seconds, the company claims.&lt;/p&gt;  &lt;p&gt;Lineo calls its quick-start software system &lt;em&gt;Warp 2&lt;/em&gt;, apparently either never having heard of IBM's ill-fated and abandoned OS/2 Warp operating system or not being particularly superstitious.&lt;/p&gt;  &lt;p&gt;The company says Warp 2 consists of a bootloader, a customised Linux software stack, and a 'hibernation driver' similar to familiar suspend-to-disk software. Lineo's innovation is that its hibernation driver writes a snapshot of RAM into flash memory instead of to a hard disk.&lt;/p&gt;  &lt;p&gt;The Warp 2 implementation is reportedly able to save multiple alternative system snapshots to enable rebooting either into a clean startup environment or to a previously saved session.&lt;/p&gt;  &lt;p&gt;The hibernation driver is also capable of compressing the saved RAM image by about 50 per cent, depending upon what it contains. One of its demonstration tests reduced a 32MB RAM image to 19MB, Lineo claims.&lt;/p&gt;  &lt;p&gt;In benchmark tests using an ARM CPU, a small low-power system running Warp 2 – with Linux, an &lt;em&gt;X&lt;/em&gt; display subsystem, the tiny window manager &lt;em&gt;twm&lt;/em&gt; and three &lt;em&gt;xterm&lt;/em&gt; command line shells – booted an uncompressed 18.3MB RAM image in 2.97 seconds. Reportedly the system booted the same test suite from a compressed 6.8MB RAM image in 3.17 seconds.&lt;/p&gt;  &lt;p&gt;Nearly instant-on Linux based systems are becoming common throughout the PC industry.&lt;/p&gt;  &lt;p&gt;ASUS announced last May that it had begun preloading a BIOS flash embedded Linux and web browser system, called &lt;a href="http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NjEwNw" target="_blank"&gt;Express Gate&lt;/a&gt;, with all of the computer motherboards it ships.&lt;/p&gt;  &lt;p&gt;That technology is based on &lt;a href="http://linuxdevices.com/news/NS9264408902.html" target="_blank"&gt;DeviceVM Splashtop&lt;/a&gt;, which HP and Lenovo are reportedly also adopting. &lt;a href="http://linuxdevices.com/news/NS2560585344.html" target="_blank"&gt;Dell Latitude On&lt;/a&gt; is a Montavista Linux system that runs on a separate ARM CPU. Not to be outdone, &lt;a href="http://linuxdevices.com/news/NS1976138629.html" target="_blank"&gt;Toshiba&lt;/a&gt; and &lt;a href="http://linuxdevices.com/news/NS4350374180.html" target="_blank"&gt;Intervideo&lt;/a&gt; have Linux based quick-boot systems too.&lt;/p&gt;  &lt;p&gt;Moreover, the best-selling segment of the PC market now is netbooks – lightweight, small notebook style PCs that can handle light web browsing, email, photos and even streaming audio and video, practically as well as larger laptop and desktop PCs. Reportedly up to 25 per cent of netbooks run Linux, and Linux based fast-boot technology is ideally suited for the way people use those systems.&lt;/p&gt;  &lt;p&gt;After all, no one needs to lug around a bulky laptop loaded down with heavyweight legacy software just to wibble the web, manage their email and photos, use their work-related, cloud-based software applications, and keep up with their social not-working addictions.&lt;/p&gt;  &lt;p&gt;Less than two weeks ago Jim Zemlin, the executive director of the Linux Foundation, took note of all these developments and &lt;a href="http://www.linux-foundation.org/weblogs/jzemlin/2008/10/29/linux-to-ship-on-more-desktops-than-windows/" target="_blank"&gt;predicted that Linux will outship Windows next year&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;That's not only possible but likely, we think, given that it looks like Linux will be shipping on a lot of PCs that are also loaded with Windows, and considering the better reliability and security, ease of use, and lower costs of Linux based systems, especially on netbooks.&lt;/p&gt;  &lt;p&gt;The giant Vole of Redmond seems to be turning into an aging, slow dinosaur, surrounded by a quickly growing population of faster, smaller, and more agile little Linux mammals. µ&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2663417406024921911-5340924483565468663?l=rapidtechguide.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rapidtechguide.blogspot.com/feeds/5340924483565468663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2663417406024921911&amp;postID=5340924483565468663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5340924483565468663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2663417406024921911/posts/default/5340924483565468663'/><link rel='alternate' type='text/html' href='http://rapidtechguide.blogspot.com/2008/11/linux-boots-in-297-seconds.html' title='Linux boots in 2.97 seconds'/><author><name>Devendra</name><uri>http://www.blogger.com/profile/16959336767174116988</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_S5ERo_32CN8/S5Bqk-vwOPI/AAAAAAAAAUg/lw-ck45pa4s/S220/LA.png'/></author><thr:total>0</thr:total></entry></feed>
