<?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-1971318307217572208</id><updated>2012-02-17T11:29:17.997+07:00</updated><category term='Mail'/><category term='PHP'/><category term='Network'/><category term='MSSQL'/><category term='RedHat/CentOS/Fedora'/><category term='MySQL'/><category term='DNS'/><category term='FTP'/><category term='Linux/Unix'/><category term='Solaris'/><category term='Virtuozzo'/><category term='HP-UX'/><category term='Windows'/><category term='IIS'/><category term='News'/><category term='ASP.NET'/><title type='text'>Linux Unix MySQL MSSQL Windows Virtuozzo MRTG SNMP SMTP ASP.NET PHP IIS Plesk Apache</title><subtitle type='html'>Linux Unix MySQL MSSQL Windows Virtuozzo MRTG SNMP SMTP ASP.NET PHP IIS News IT Apache Parallels Plesk CommuniGate GNU GNOME KDE Solaris HP-UX FreeBSD RedHat Fedora CentOS Howto Database Replication Disaster Recovery High Availability High Performance Cluster Dynamic Cluster HTTP Proxy Squid Email Groupware Collaboration Instant Messenger Voice over IP VoIP IPSec Tunnel VPN Sniffer Software System Engineer Programmer Programming Certified SSL PKI Authentication script</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2275221201476116835</id><published>2012-02-04T09:24:00.003+07:00</published><updated>2012-02-04T09:47:16.566+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>init: Id "x" respawning too fast: disabled for 5 minutes</title><content type='html'>&lt;br /&gt;In most Linux distributions this means that the system is booting by default into runlevel 5, which is supposed to respawn (re-start again after it’s been exited) a gui login via x windows, kdm, gdm, or whatever, but the system can’t locate the program. As a result below logs will keep appearing on your /var/log/messages for every 5 minutes.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Feb 4 08:55:25 server init: Id "x" respawning too fast: disabled for 5 minutes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;However, “Id” can also indicate the absence or misconfiguration of another program, like mingetty, if init tries to respawn itself more than 10 times in 2 minutes.&lt;br /&gt;&lt;br /&gt;Reason: You remove the “X Window System” and “GNOME Desktop Environment” but never modified the /etc/inittab.&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;vi /etc/inittab&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Change the initdefault id to 3 as below:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;id:3:initdefault:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;save and reboot your system&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Or you may need to reinstall the “X Window System” and “GNOME Desktop Environment”.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;yum groupinstall "X Window System"&lt;/i&gt;&lt;br /&gt;&lt;i&gt;yum groupinstall "GNOME Desktop Environment"&lt;/i&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2275221201476116835?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2275221201476116835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2012/02/init-id-x-respawning-too-fast-disabled.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2275221201476116835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2275221201476116835'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2012/02/init-id-x-respawning-too-fast-disabled.html' title='init: Id &quot;x&quot; respawning too fast: disabled for 5 minutes'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4811049001119770548</id><published>2012-02-04T08:43:00.002+07:00</published><updated>2012-02-04T09:48:26.672+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>Clean up cache and log for magento</title><content type='html'>&lt;br /&gt;Create cleanup.php file in document root folder then put these code to it, edit database variables, save and run cleanup.php?clean=log or cleanup.php?clean=var&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;lt;?&lt;br /&gt;$db['host'] = ''; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Database hostname&lt;br /&gt;$db['name'] = ''; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Database name&lt;br /&gt;$db['user'] = ''; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Database username&lt;br /&gt;$db['pass'] = ''; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Database password&lt;br /&gt;$db['pref'] = ''; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Database tables' prefix&lt;br /&gt;&lt;br /&gt;if($_GET['clean'] == 'log') clean_log_tables();&lt;br /&gt;if($_GET['clean'] == 'var') clean_var_directory();&lt;br /&gt;&lt;br /&gt;function clean_log_tables() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; global $db;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; $tables = array(&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'log_url',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'log_url_info',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'log_visitor',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'log_visitor_info'&lt;br /&gt;&amp;nbsp; &amp;nbsp; );&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; mysql_connect($db['host'], $db['user'], $db['pass']) or die(mysql_error());&lt;br /&gt;&amp;nbsp; &amp;nbsp; mysql_select_db($db['name']) or die(mysql_error());&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; foreach($tables as $v =&amp;gt; $k) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mysql_query('TRUNCATE `'.$db['pref'].$k.'`') or die(mysql_error());&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function clean_var_directory() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; $dirs = array(&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'var/cache/',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'var/log/',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'var/report/',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'var/session/',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'var/tmp/',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'downloader/pearlib/cache/*',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'downloader/pearlib/download/*'&lt;br /&gt;&amp;nbsp; &amp;nbsp; );&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; foreach($dirs as $v =&amp;gt; $k) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exec('rm -rf '.$k);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference:&amp;nbsp;http://www.magentocommerce.com/boards/viewthread/36148/#t117754&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4811049001119770548?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4811049001119770548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2012/02/clean-up-cache-and-log-for-magento.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4811049001119770548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4811049001119770548'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2012/02/clean-up-cache-and-log-for-magento.html' title='Clean up cache and log for magento'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2874893995390991920</id><published>2012-01-29T22:04:00.002+07:00</published><updated>2012-01-29T22:05:51.702+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>How to determine the version and edition of SQL Server</title><content type='html'>&lt;span style="background-color: white; font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif; font-size: 11px; line-height: 16px; text-align: left;"&gt;&lt;b&gt;Question:&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif;"&gt;&lt;span style="font-size: 11px; line-height: 16px;"&gt;How to determine the version and edition of SQL Server?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;span style="background-color: white; font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif; font-size: 11px; line-height: 16px; text-align: left;"&gt;&lt;b&gt;Answer:&amp;nbsp;&lt;/b&gt;Connect to the instance of SQL Server, and then run the following query:&lt;/span&gt;&lt;span style="background-color: white; text-align: left;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;i style="background-color: yellow; color: #333333; font-family: Consolas, 'Courier New', Courier, monospace; font-size: 11px; line-height: 16px; text-align: left;"&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;pre class="in_text" style="background-color: white; color: #333333; font-family: Consolas, 'Courier New', Courier, monospace; font-size: 11px; line-height: 16px; padding-bottom: 20px; padding-left: 10px; padding-right: 10px; padding-top: 10px; position: relative; width: auto;"&gt;Select @@version&lt;/pre&gt;&lt;br /&gt;&lt;span style="background-color: white; font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif; font-size: 11px; line-height: 16px; text-align: left;"&gt;An example of the output of this query is as follows:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="in_text" style="background-color: white; color: #333333; font-family: Consolas, 'Courier New', Courier, monospace; font-size: 11px; line-height: 16px; padding-bottom: 20px; padding-left: 10px; padding-right: 10px; padding-top: 10px; position: relative; text-align: left; width: auto;"&gt;Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64)   Mar 29 2009 &lt;br /&gt;10:11:52   Copyright (c) 1988-2008 Microsoft Corporation  Express &lt;br /&gt;Edition (64-bit) on Windows NT 6.1 &lt;x64&gt; (Build 7600: )&lt;/x64&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/1971318307217572208-2874893995390991920?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2874893995390991920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2012/01/how-to-determine-version-and-edition-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2874893995390991920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2874893995390991920'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2012/01/how-to-determine-version-and-edition-of.html' title='How to determine the version and edition of SQL Server'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8070407219208227999</id><published>2012-01-29T13:04:00.000+07:00</published><updated>2012-01-29T13:08:20.286+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Thai_CI_AS"</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;img border="0" height="169" src="http://1.bp.blogspot.com/-XuDikC07ox8/TyTfVYn9HKI/AAAAAAAAAAQ/tQHYBELd3DM/s320/sshot-1.png" width="320" /&gt;&lt;/div&gt;&lt;br /&gt;Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Thai_CI_AS" in the equal to operation.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cause: &lt;/b&gt;Temp Table that was created by your sql statement use conflict collation with default collations of database or table you querying&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Resolution:&lt;/b&gt; I install language in Control Panel &amp;gt; Regional and Language Settings for Thai then restart computer. After that, it works normally.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-8070407219208227999?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8070407219208227999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2012/01/cannot-resolve-collation-conflict.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8070407219208227999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8070407219208227999'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2012/01/cannot-resolve-collation-conflict.html' title='Cannot resolve the collation conflict between &quot;SQL_Latin1_General_CP1_CI_AS&quot; and &quot;Thai_CI_AS&quot;'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XuDikC07ox8/TyTfVYn9HKI/AAAAAAAAAAQ/tQHYBELd3DM/s72-c/sshot-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6082346694919431183</id><published>2011-12-24T20:42:00.001+07:00</published><updated>2011-12-24T20:43:58.525+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Change timezone in Redhat linux</title><content type='html'>&lt;div&gt;Run these command&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;rm -f /etc/localtime&lt;div&gt;ln -s /usr/share/zoneinfo/Asia/Bangkok /etc/localtime&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6082346694919431183?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6082346694919431183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/12/change-timezone-in-redhat-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6082346694919431183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6082346694919431183'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/12/change-timezone-in-redhat-linux.html' title='Change timezone in Redhat linux'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-699019610957730510</id><published>2011-12-11T01:58:00.000+07:00</published><updated>2011-12-11T02:00:31.389+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Why does the Green Bar not appear for Google Chrome?</title><content type='html'>&lt;b&gt;Problem&lt;/b&gt;&lt;br /&gt;When accessing a secure site with a Extended Validation (EV) SSL certificate, the green bar and the company name does not display to the right of the lock icon in the Google Chrome address bar.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;br /&gt;- Click the Tools menu&lt;br /&gt;- Select Options&lt;br /&gt;- Click the Under the Hood tab&lt;br /&gt;- Select the "Check for server certificate revocation" checkbox&lt;br /&gt;- Click Close&lt;br /&gt;&lt;br /&gt;If the green bar or the organization's name is still not displayed, it may be due to one of the following conditions:&lt;br /&gt;&lt;br /&gt;- The website might not use an EV-SSL certificate. EV certificates provide extra assurance as to the identity of the website, but not all websites using SSL use EV-SSL certificates.&lt;br /&gt;- The website might contain security errors, such as mixed content or expired certificates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-699019610957730510?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/699019610957730510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/12/why-does-green-bar-not-appear-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/699019610957730510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/699019610957730510'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/12/why-does-green-bar-not-appear-for.html' title='Why does the Green Bar not appear for Google Chrome?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8472621251845147570</id><published>2011-12-11T01:56:00.002+07:00</published><updated>2011-12-11T17:04:30.905+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Firefox does not display green address bar when visiting a web site with Extended Validation certificate</title><content type='html'>&lt;b&gt;Problem&lt;/b&gt;&lt;br /&gt;When accessing a web site with an Extended Validation certificate, you may experience the following behavior:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Green bar does not appear for Firefox users&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cause&lt;/b&gt;&lt;br /&gt;Currently, Extended Validation certificates are natively supported by Internet Explorer 7, Firefox 3.x+, Opera 9 and Safari 3.2+.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;br /&gt;To resolve this problem, ensure Online Certificate Status Protocol (OCSP) is enabled.&lt;br /&gt;&lt;br /&gt;- Open Firefox browser&lt;br /&gt;- From the tool bar, click Tools &amp;gt; Options &amp;gt; Advanced &amp;gt; Encryption tab &amp;gt; Validation&lt;br /&gt;- Ensure Use OCSP to validate only certificates that specify an OCSP service URL is checked&lt;div&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/1971318307217572208-8472621251845147570?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8472621251845147570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/12/firefox-does-not-display-green-address.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8472621251845147570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8472621251845147570'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/12/firefox-does-not-display-green-address.html' title='Firefox does not display green address bar when visiting a web site with Extended Validation certificate'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8595135386291723894</id><published>2011-12-11T01:46:00.003+07:00</published><updated>2011-12-11T01:54:35.404+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>How to transfer the logins and the passwords of SQL Server</title><content type='html'>&lt;div&gt;&lt;h1 class="title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 17px; font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif; background-color: rgb(255, 255, 255); "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;a href="http://support.microsoft.com/kb/918992"&gt;How to transfer the logins and the passwords between instances of SQL Server 2005 and SQL Server 2008&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1 class="title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 17px; font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif; background-color: rgb(255, 255, 255); "&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;a href="http://support.microsoft.com/kb/246133"&gt;How to transfer logins and passwords between instances of SQL Server&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h1 class="title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 17px; font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif; background-color: rgb(255, 255, 255); "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;a href="http://support.microsoft.com/kb/918992"&gt;How to transfer the logins and the passwords between instances of SQL Server 2005 and SQL Server 2008&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h1 class="title" style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 17px; font-family: 'Segoe UI', Arial, Verdana, Tahoma, sans-serif; background-color: rgb(255, 255, 255); "&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;a href="http://support.microsoft.com/kb/314546"&gt;How to move databases between computers that are running SQL Server&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&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/1971318307217572208-8595135386291723894?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8595135386291723894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/12/how-to-transfer-logins-and-passwords-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8595135386291723894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8595135386291723894'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/12/how-to-transfer-logins-and-passwords-of.html' title='How to transfer the logins and the passwords of SQL Server'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6457839597639587358</id><published>2011-12-11T01:31:00.005+07:00</published><updated>2011-12-11T21:48:39.628+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Green address bar does not appear with Microsoft Internet Explorer</title><content type='html'>&lt;b&gt;Problem&lt;/b&gt;&lt;br /&gt;When accessing a website securely with Extended Validation SSL Certificate, you may experience the following behavior:&lt;br /&gt;&lt;br /&gt;The green address bar does not appear.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Cause&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;This issue occurs when one of the following conditions are true:&lt;br /&gt;&lt;br /&gt;- The Phishing Filter built into Internet Explorer 7 is not enabled&lt;br /&gt;- Smart Screen Filter built into Internet Explorer 8/9 is not enabled&lt;br /&gt;- Any certificate related error message prior to accessing the secure site will prevent the Green Bar from being displayed when connecting to a secure web site with an Extended Validation SSL certificate installed&lt;br /&gt;- The Root CA Certificate does not exist on the computer&lt;br /&gt;- The Intermediate Certificate Authority (CA) certificates are not installed on the Web server&lt;br /&gt;- Non secure content displayed on the web page&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Resolution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Method 1: Enable Phishing Filter/Smart Screen Filter on Internet Explorer&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;To resolve this problem for Internet Explorer 7, perform the following steps:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;1. Open Internet Explorer 7&lt;br /&gt;2. Click Tools &amp;gt; Phishing Filter &amp;gt; Turn Off/On Automatic Website checking&lt;br /&gt;3. Ensure Turn on automatic Phishing Filter (recommended) is selected&lt;br /&gt;4. Click OK&lt;br /&gt;&lt;br /&gt;If web site is access through the Local Intranet zone, the phishing filter is turned off by default. To enable:&lt;br /&gt;&lt;br /&gt;1. Open Internet Explorer 7&lt;br /&gt;2. Click Tools &amp;gt; Internet Options &amp;gt; Security&lt;br /&gt;3. Select Local intranet zone&lt;br /&gt;4. Click Custom level&lt;br /&gt;5. Under Miscellaneous, ensure Use Phishing Filter is enabled for all zones&lt;br /&gt;&lt;br /&gt;To resolve this problem for Internet Explorer 8/9, perform the following steps:&lt;br /&gt;&lt;br /&gt;1. Open Internet Explorer 8&lt;br /&gt;2. From the top menu, click Tools &amp;gt; Internet Options&lt;br /&gt;3. Click Advanced tab&lt;br /&gt;4. Under Security, check the box Enable SmartScreen Filter&lt;br /&gt;5. Click Apply &amp;gt; OK&lt;br /&gt;&lt;br /&gt;If the problem persists, determine which security zone is used when accessing the website.&lt;br /&gt;&lt;br /&gt;1. After accessing the website, in the lower right hand corner, confirm the zone: Internet, Intranet, or Trusted Site&lt;br /&gt;2. From the top menu, click Tools &amp;gt; Internet Options &amp;gt; Security tab&lt;br /&gt;3. Select the appropriate zone from step 1&lt;br /&gt;4. Click Custom Level&lt;br /&gt;5. Under Miscellaneous &amp;gt; Use SmartScreen Filter, click Enable&lt;br /&gt;6. Click OK&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Method 2: Check for possible certificate errors&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The security certificate presented by this web site was not issued by a trusted certificate authority&lt;br /&gt;&lt;br /&gt;Note: If the Root CA is not uploaded to the Windows XP machine via Windows Update, the chain of trust will not be complete and the certificate will not be trusted&lt;br /&gt;&lt;br /&gt;The security certificate presented by this web site has expired or is not yet valid&lt;br /&gt;&lt;br /&gt;The security certificate presented by this web site was issued for a different web site's address&lt;br /&gt;&lt;br /&gt;Non secure content displayed on the web page. Typically these are images or scripts that reside on a server that is not secured. Links to this type of content must contain 'https'&lt;br /&gt;&lt;br /&gt;If any of theses alerts are presented by Internet Explorer, the Green Bar will not display.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Method 3: Enable the Check for Server Certificate Revocation&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;- Start an Internet Explorer 7 browser session&lt;br /&gt;- Go to Tools &amp;gt; Internet Options&lt;br /&gt;- Click on the Advanced tab&lt;br /&gt;- Under the Security section, check the box next to Check for server certificate revocation&lt;br /&gt;- Click Apply &amp;gt; OK&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Method 4: Ensure Update Root Certificate component is enabled&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;1. Click Start &amp;gt; Control Panel &amp;gt; Add or Remove Programs &amp;gt; Add/Remove Windows Components&lt;br /&gt;2. Ensure Update Root Certificates is checked&lt;br /&gt;&lt;br /&gt;You can download &lt;a href="http://download.microsoft.com/download/A/E/4/AE48995A-8C71-4E97-98A1-77752A4F564E/rootsupd.exe"&gt;Update for Root Certificate&lt;/a&gt; from Microsoft.&lt;br /&gt;&lt;br /&gt;Note: This will not take effect until after you restart Internet Explorer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The EV OID must be activated on behalf of Microsoft for the Green Bar to appear. Tentatively this is set to occur On January 31, 2007.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6457839597639587358?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6457839597639587358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/12/green-address-bar-does-not-appear-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6457839597639587358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6457839597639587358'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/12/green-address-bar-does-not-appear-with.html' title='Green address bar does not appear with Microsoft Internet Explorer'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-3461856304128010695</id><published>2011-11-19T09:57:00.007+07:00</published><updated>2011-11-19T11:13:13.847+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>How to enable NTFS filesystem on linux kernel</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;kernel version m.n.x-y&lt;br /&gt;m = major version number&lt;br /&gt;n = minor version number (revision number and development status (odd number = development version and even number = stable version))&lt;br /&gt;x = patch level&lt;br /&gt;y = extra version number&lt;br /&gt;&lt;br /&gt;{arch} = architecture&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Required Package:&lt;/b&gt;&lt;br /&gt;kernel-source&lt;br /&gt;dev86&lt;br /&gt;glibc-devel&lt;br /&gt;make&lt;br /&gt;gcc&lt;br /&gt;binutils&lt;br /&gt;ncurses-devel&lt;br /&gt;cpp&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Begin:&lt;/b&gt;&lt;br /&gt;# cd /usr/src/linux-m.n&lt;br /&gt;&lt;br /&gt;&lt;b&gt;create default config from old kernel &lt;/b&gt;&lt;br /&gt;# cp config/kernel-m.n.x-{arch}.config .config&lt;br /&gt;&lt;br /&gt;&lt;b&gt;modify kernel config&lt;/b&gt;&lt;br /&gt;# make config - interactive&lt;br /&gt;# make menuconfig - text mode&lt;br /&gt;# make xconfig - gui mode&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit extra version number&lt;/b&gt;&lt;br /&gt;# vi /usr/src/linux-m.n/makefile&lt;br /&gt;&lt;br /&gt;EXTRAVERSION=-yntfs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Check dependencies&lt;/b&gt;&lt;br /&gt;# make dep&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Remove certain files from previous compile operation&lt;/b&gt;&lt;br /&gt;# make clean&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Compile kernel source and build to file "bzImage"&lt;/b&gt;&lt;br /&gt;# make bzImage&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Compile dependencied modules&lt;/b&gt;&lt;br /&gt;# make modules&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Install compiled modules to /lib/modules/m.n.x-yntfs&lt;/b&gt;&lt;br /&gt;# make modules_install&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Install new compiled kernel to boot loader&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Make initial ramdisk&lt;/b&gt;&lt;br /&gt;# mkinitrd /boot/initrd-m.n.x-yntfs.img m.n.x-yntfs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Copy symbol table of the compiled kernel source to /boot&lt;/b&gt;&lt;br /&gt;# cp /usr/src/linux-m.n/System.map /boot/system.map-m.n.x-yntfs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Copy new compiled kernel to /boot&lt;/b&gt;&lt;br /&gt;# cp /usr/src/linux-m.n/arch/{arch}/boot/bzImage /boot/vmlinuz-m.n.x-yntfs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Backup config file of the compiled kernel source&lt;/b&gt;&lt;br /&gt;# cp /usr/src/linux-m.n/.config /boot/config-m.n.x-yntfs&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Add boot menu to grub boot loader&lt;/b&gt;&lt;br /&gt;# vi /etc/grub.conf&lt;br /&gt;&lt;br /&gt;# append these lines to grub.conf&lt;div&gt;#  (hd0,0) = first partition of first hard drive&lt;/div&gt;&lt;div&gt;# /dev/VolGroup00/LogVol00 = volume or partition for / mountpoint&lt;/div&gt;&lt;div&gt;&lt;br /&gt;title Linux with NTFS support (m.n.x-yntfs)&lt;br /&gt;      root (hd0,0)&lt;br /&gt;      kernel /vmlinuz-m.n.x-yntfs ro root=/dev/VolGroup00/LogVol00 rhgb quiet&lt;br /&gt;      initrd /initrd-m.n.x-yntfs.img&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Restart machine and select new compiled kernel in boot menu then check known file systems&lt;/b&gt;&lt;br /&gt;# cat /proc/filesystems&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-3461856304128010695?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/3461856304128010695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/11/how-to-enable-ntfs-filesystem-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3461856304128010695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3461856304128010695'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/11/how-to-enable-ntfs-filesystem-on-linux.html' title='How to enable NTFS filesystem on linux kernel'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5894742756186106728</id><published>2011-11-04T14:36:00.002+07:00</published><updated>2011-11-04T14:41:47.992+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>for loop example in bash</title><content type='html'>&lt;div&gt;&lt;b&gt;Example 1&lt;/b&gt;&lt;/div&gt;for i in 1 2 3 4 5&lt;br /&gt;do&lt;br /&gt;  echo $i&lt;br /&gt;done&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Example 2&lt;/b&gt;&lt;/div&gt;&lt;div&gt;for i in {1..5}&lt;/div&gt;&lt;div&gt;do&lt;br /&gt;  echo $i&lt;br /&gt;done&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Example 3&lt;/b&gt;&lt;/div&gt;&lt;div&gt;for ((i=0; i&amp;lt;=5; i++))&lt;/div&gt;&lt;div&gt;do&lt;br /&gt;  echo $i&lt;br /&gt;done&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Example 4&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(17, 17, 17); font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; background-color: rgb(255, 255, 255); "&gt;Bash v4.0+ has inbuilt support for setting up a step value using {&lt;/span&gt;&lt;span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; text-align: -webkit-auto; background-color: rgb(255, 255, 255); color: rgb(153, 51, 153); "&gt;START&lt;/span&gt;&lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(17, 17, 17); font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;..&lt;/strong&gt;&lt;span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; text-align: -webkit-auto; background-color: rgb(255, 255, 255); color: rgb(153, 51, 153); "&gt;END&lt;/span&gt;&lt;strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(17, 17, 17); font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;..&lt;/strong&gt;&lt;span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; text-align: -webkit-auto; background-color: rgb(255, 255, 255); color: rgb(153, 51, 153); "&gt;INCREMENT&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(17, 17, 17); font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 14px; line-height: 22px; text-align: -webkit-auto; background-color: rgb(255, 255, 255); "&gt;} syntax:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;for i in {1..10..2}&lt;/div&gt;&lt;div&gt;do&lt;br /&gt;  echo $i&lt;br /&gt;done&lt;/div&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/1971318307217572208-5894742756186106728?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5894742756186106728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/11/for-loop-example-in-bash.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5894742756186106728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5894742756186106728'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/11/for-loop-example-in-bash.html' title='for loop example in bash'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6879062814180819919</id><published>2011-10-28T20:47:00.005+07:00</published><updated>2011-10-28T21:57:29.068+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Linux System Monitoring Tools</title><content type='html'>1. top - Displays dynamic real-time view of a running system&lt;br /&gt;&lt;br /&gt;2. vmstat - Report virtual memory statistics&lt;br /&gt;&lt;br /&gt;3. w - Show who is logged on and what they are doing.&lt;br /&gt;&lt;br /&gt;4. uptime - Tell how long the system has been running.&lt;br /&gt;&lt;br /&gt;5. ps - display information about the current processes.&lt;br /&gt;&lt;br /&gt;6. free - Display amount of free and used memory in the system&lt;br /&gt;&lt;br /&gt;7. iostat - Report CPU statistics and input/output statistics for devices and partitions.&lt;br /&gt;&lt;br /&gt;8. sar - Collect, report, or save system activity information.&lt;br /&gt;&lt;br /&gt;9. mpstat - Report multiprocessors related statistics.&lt;br /&gt;&lt;br /&gt;10. pmap - report memory map of a process&lt;br /&gt;&lt;br /&gt;11. netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships&lt;br /&gt;&lt;br /&gt;12. ss - Dump socket statistics&lt;br /&gt;&lt;br /&gt;13. iptraf - Interactive IP traffic Monitor&lt;br /&gt;&lt;br /&gt;14. tcpdump - Detailed Network Traffic Analysis&lt;br /&gt;&lt;br /&gt;15. strace - Trace system calls and signals&lt;br /&gt;&lt;br /&gt;16. /Proc file system - Process information pseudo-filesystem.&lt;br /&gt;&lt;br /&gt;17. Nagios - Application, Services, Servers And Network Monitoring with Email and SMS alert&lt;br /&gt;&lt;br /&gt;18. Cacti - Web-based Monitoring Tool&lt;br /&gt;&lt;br /&gt;19. KDE System Guard - Real-time Systems Reporting and Graphing&lt;br /&gt;&lt;br /&gt;20. Gnome System Monitor - Real-time Systems Reporting and Graphing&lt;br /&gt;&lt;br /&gt;21. nmap - network exploration tool and security auditing.&lt;br /&gt;&lt;br /&gt;22. lsof - list open files&lt;br /&gt;&lt;br /&gt;23. ntop - web based network traffic probe that shows the network usage, similar to what the popular top Unix command does.&lt;br /&gt;&lt;br /&gt;24. Conky - light-weight system monitor for X, that displays any information (uname, uptime, CPU usage, mem usage, disk usage, "top" like process stats, and network monitoring,) on your desktop.&lt;br /&gt;&lt;br /&gt;25. GKrellM - Single process stack of system monitors that can used to monitor CPUs, Process, Disk, Network Interface, Memory, File system, Temperature, fan, voltage sensor monitors, and many other things.&lt;br /&gt;&lt;br /&gt;26. vnstat - a console-based network traffic monitor. It keeps a log of hourly, daily and monthly network traffic for the selected interface(s).&lt;br /&gt;&lt;br /&gt;27. htop - htop is an enhanced version of top, the interactive process viewer, which can display the list of processes in a tree form.&lt;br /&gt;&lt;br /&gt;28. mtr - a network diagnostic tool that combines the functionality of the traceroute and ping programs.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;29. users - print the user names of users currently logged in to the current host&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6879062814180819919?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6879062814180819919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/10/20-linux-system-monitoring-tools-every.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6879062814180819919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6879062814180819919'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/10/20-linux-system-monitoring-tools-every.html' title='Linux System Monitoring Tools'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6314957116808036258</id><published>2011-05-19T19:02:00.000+07:00</published><updated>2011-05-19T19:03:51.710+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>How can I know what configure options were used to compile it?</title><content type='html'>You can see the configure options using the mysqlbug command-line utility.&lt;br /&gt;&lt;br /&gt;In your shell type mysqlbug and you'll see a template e-mail for bug submission.&lt;br /&gt;At the bottom end of that e-mail you can see the configure line with all the options your copy of MySQL was compiled with.&lt;br /&gt;&lt;br /&gt;Reference: http://serverfault.com/questions/62212/configure-options-mysql-server-was-compiled-with&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6314957116808036258?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6314957116808036258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/05/how-can-i-know-what-configure-options.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6314957116808036258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6314957116808036258'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/05/how-can-i-know-what-configure-options.html' title='How can I know what configure options were used to compile it?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2315723503241022107</id><published>2011-01-04T19:17:00.005+07:00</published><updated>2011-01-04T19:28:44.641+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Windows x64 problem: The 'Microsoft.Jet.OLEDB. 4.0' provider is not registered on the local machine.</title><content type='html'>Cause:&lt;br /&gt;&lt;br /&gt;There is no 64 bit version of Microsoft Jet OLE DB driver.&lt;br /&gt;&lt;br /&gt;Resolution:&lt;br /&gt;&lt;br /&gt;1. Install lastest service pack for windows&lt;br /&gt;&lt;br /&gt;2. Force program to run as a 32 Bit application. In order to do this, you need utility found in .NET SDK named corflags.exe.&lt;br /&gt;&lt;br /&gt;&gt;&gt; corflags program.exe /32BIT+&lt;br /&gt;&lt;br /&gt;2. For run on IIS, you need to enable 32 bit applications on IIS&lt;br /&gt;&lt;br /&gt;&gt;&gt; cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2315723503241022107?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2315723503241022107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2011/01/windows-x64-problem-microsoftjetoledb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2315723503241022107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2315723503241022107'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2011/01/windows-x64-problem-microsoftjetoledb.html' title='Windows x64 problem: The &apos;Microsoft.Jet.OLEDB. 4.0&apos; provider is not registered on the local machine.'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-9189176719726535668</id><published>2010-12-21T10:01:00.001+07:00</published><updated>2010-12-21T10:04:24.516+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>How to Restore SQL Server 2005 Suspect Database</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If your project's database is in suspect mode, then no transaction will take place until and unless you repair your database. That causes a show stopper for your up and running application. Here, you will find a way to get out of this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Background&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Your Database is in Suspect Mode. I guess, you haven't experienced this problem till now. But, if it comes to you and if the database is LIVE, then it's time to read this article to get out of this tension.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Using the Code&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you find your database in Suspect mode, then please keep your nerve strong. Just proceed step by step what I am written below. I think you will get out of this trouble. SQL Server 2005 introduced a new DB Status called Emergency. This mode can change the DB from Suspect mode to Emergency mode, so that you can retrieve the data in read only mode. The steps are... After executing the script given below, you will get back your database in operational mode. Actually I have tried with two of my existing live systems and found no data loss.&lt;br /&gt;&lt;br /&gt;Note: Obviously there are two more options available. Run REPAIR_ALLOW_DATA_LOSS to ensure the database is returned to a structurally and transitionally consistent state. Here are a few things to bear in mind about emergency mode repair: it's a one-way operation. Anything it does cannot be rolled back or undone. If this worries you (if someone ever got into that state, then surely don't have the healthy concern about data that they should have in the first place) then make a copy of the damaged database before you run emergency mode repair.&lt;br /&gt;As it's a one-way operation, you cannot wrap it in an explicit user-transaction.&lt;br /&gt;It's the only repair option available in emergency mode - if you try to use REPAIR_REBUILD, then it won't work.&lt;br /&gt;Collapse&lt;br /&gt;&lt;br /&gt;EXEC sp_resetstatus 'yourDBname';&lt;br /&gt;ALTER DATABASE yourDBname SET EMERGENCY&lt;br /&gt;DBCC checkdb('yourDBname')&lt;br /&gt;ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE&lt;br /&gt;DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS)&lt;br /&gt;ALTER DATABASE yourDBname SET MULTI_USER&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Points of Interest&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will be happy that your database as well as the application are still in workable condition. :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;License&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;About the Author&lt;/span&gt;&lt;br /&gt;Suvendu Banik&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference: http://www.codeproject.com/KB/reporting-services/SQL_2005_Suspect_Database.aspx&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-9189176719726535668?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/9189176719726535668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/12/how-to-restore-sql-server-2005-suspect.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9189176719726535668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9189176719726535668'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/12/how-to-restore-sql-server-2005-suspect.html' title='How to Restore SQL Server 2005 Suspect Database'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4678948852918841966</id><published>2010-10-27T11:30:00.006+07:00</published><updated>2010-10-27T11:44:12.512+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Using Passive FTP with ProFTPD</title><content type='html'>1. Edit your ProFTPD configuration file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;vi /usr/local/etc/proftpd.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Add the following lines anywhere within the section:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;# Restrict the range of ports from which the server will select when &lt;br /&gt;# sent the PASV command from a client. Use IANA-registered &lt;br /&gt;# ephemeral port range of 49152-65534&lt;br /&gt;PassivePorts 49152 65534&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. If you are running ProFTPD in standalone mode, restart ProFTPD. No further action is necessary if ProFTPD is called via inetd or xinetd.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Note:&lt;/span&gt; &lt;span style="font-style:italic;"&gt;You may need to modify the IP Filter ruleset to allow passive FTP connections by allowing incoming traffic to the port range.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4678948852918841966?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4678948852918841966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/10/using-passive-ftp-with-proftpd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4678948852918841966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4678948852918841966'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/10/using-passive-ftp-with-proftpd.html' title='Using Passive FTP with ProFTPD'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8109775784225059299</id><published>2010-10-26T17:59:00.001+07:00</published><updated>2010-10-26T18:01:50.726+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>CentOS 4 / Redhat Enterprise Linux 4 iSCSI Installation and Configuration ( iscsi initiators )</title><content type='html'>I've received a couple of email about setting up iSCSI under CentOS 4 or RHEL ES 4 server. Previously, I wrote about iSCSI under CentOS 5 / RHEL 5 server.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Requirements&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[a] Following instructions tested on RHEL ES 4 and CentOS 4 only. (See RHEL 5/ CentOS 5 / Debian/ Ubuntu Linux specific instructions here).&lt;br /&gt;[b] You need following information&lt;br /&gt;[c] ISCSI Username&lt;br /&gt;[d] ISCSI Password&lt;br /&gt;[e] ISCSI Server IP / hostname&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CentOS Linux v4.x - Install iscsi-initiator-utils&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Type the following command:&lt;br /&gt;# yum install iscsi-initiator-utils&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Redhat ES Linux v4.x - Install iscsi-initiator-utils&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Type the following command:&lt;br /&gt;# up2date iscsi-initiator-utils&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configure iSCSI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Open /etc/iscsi.conf file, enter:&lt;br /&gt;# vi /etc/iscsi.conf&lt;br /&gt;&lt;br /&gt;Setup it as follows:&lt;br /&gt;&lt;br /&gt;DiscoveryAddress=ISCSI_TARGET_HOST_OR_IP&lt;br /&gt;OutgoingUserName=ISCSI_USER_NAME&lt;br /&gt;OutgoingPassword=ISCSI_PASSWORD&lt;br /&gt;LoginTimeout=15&lt;br /&gt;Save and close the file.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Start the iscsi service&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Type the following command to start iscsi service so that you can see block device:&lt;br /&gt;# chkconfig iscsi on&lt;br /&gt;# /etc/init.d/iscsi start&lt;br /&gt;&lt;br /&gt;Run any one of the following to find out new block device name:&lt;br /&gt;# fdisk -l&lt;br /&gt;# tail -f /var/log/messages&lt;br /&gt;# find /sys/devices/platform/host* -name "block*"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Format iSCSI device&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Use fdisk and mkfs.ext3 commands. First, create a partition (assuming that /dev/sdc is a new block device assigned to iscsi) :&lt;br /&gt;# fdisk /dev/sdc&lt;br /&gt;# mkfs.ext3 /dev/sdc1&lt;br /&gt;&lt;br /&gt;Create /mnt/iscsi directory:&lt;br /&gt;# mkdir -p /mnt/iscsi&lt;br /&gt;&lt;br /&gt;Open /etc/fstab file and append config directive:&lt;br /&gt;/dev/sdc1 /mnt/iscsi ext3 _netdev 0 0&lt;br /&gt;&lt;br /&gt;Save and close the file. Mount the parition /dev/sdc1:&lt;br /&gt;# mount -a&lt;br /&gt;# df -H&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Reference: &lt;a href="http://www.cyberciti.biz/tips/howto-centos-rhel4-iscsi-initiators.html"&gt;http://www.cyberciti.biz/tips/howto-centos-rhel4-iscsi-initiators.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-8109775784225059299?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8109775784225059299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/10/centos-4-redhat-enterprise-linux-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8109775784225059299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8109775784225059299'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/10/centos-4-redhat-enterprise-linux-4.html' title='CentOS 4 / Redhat Enterprise Linux 4 iSCSI Installation and Configuration ( iscsi initiators )'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8818116292480496300</id><published>2010-10-26T17:51:00.004+07:00</published><updated>2010-10-26T17:58:37.018+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>CentOS / Red Hat Linux: Install and manage iSCSI Volume</title><content type='html'>Internet SCSI (iSCSI) is a network protocol s that allows you to use of the SCSI protocol over TCP/IP networks. It is good alternative to Fibre Channel-based SANs. You can easily manage, mount and format iSCSI Volume under Linux. It allows access to SAN storage over Ethernet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Open-iSCSI Project&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Open-iSCSI project is a high-performance, transport independent, multi-platform implementation of iSCSI. Open-iSCSI is partitioned into user and kernel parts.&lt;br /&gt;&lt;br /&gt;Instructions are tested on:&lt;br /&gt;[a] RHEL 5&lt;br /&gt;[b] CentOS 5&lt;br /&gt;[c] Fedora 7&lt;br /&gt;[d] Debian / Ubuntu Linux&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Install Required Package&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;iscsi-initiator-utils RPM package - The iscsi package provides the server daemon for the iSCSI protocol, as well as the utility programs used to manage it. iSCSI is a protocol for distributed disk access using SCSI commands sent over Internet Protocol networks. This package is available under Redhat Enterprise Linux / CentOS / Fedora Linux and can be installed using yum command:&lt;br /&gt;# yum install iscsi-initiator-utils&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A note about Debian / Ubuntu Linux&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you are using Debian / Ubuntu Linux install open-iscsi package, enter:&lt;br /&gt;$ sudo apt-get install open-iscsi&lt;br /&gt;&lt;br /&gt;&lt;b&gt;iSCSI Configuration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There are three steps needed to set up a system to use iSCSI storage:&lt;br /&gt;&lt;br /&gt;iSCSI startup using the init script or manual startup. You need to edit and configure iSCSI via /etc/iscsi/iscsid.conf file&lt;br /&gt;Discover targets.&lt;br /&gt;Automate target logins for future system reboots.&lt;br /&gt;You also need to obtain iSCSI username, password and storage server IP address (target host)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;Step # 1: Configure iSCSI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Open /etc/iscsi/iscsid.conf with vi text editor:&lt;br /&gt;# vi /etc/iscsi/iscsid.conf&lt;br /&gt;&lt;br /&gt;Setup username and password:&lt;br /&gt;node.session.auth.username = My_ISCSI_USR_NAME&lt;br /&gt;node.session.auth.password = MyPassword&lt;br /&gt;discovery.sendtargets.auth.username = My_ISCSI_USR_NAME&lt;br /&gt;discovery.sendtargets.auth.password = MyPassword&lt;br /&gt;&lt;br /&gt;Where,&lt;br /&gt;&lt;br /&gt;node.session.* is used to set a CHAP username and password for initiator authentication by the target(s).&lt;div&gt;&lt;br /&gt;discovery.sendtargets.* is used to set a discovery session CHAP username and password for the initiator authentication by the target(s)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;You may also need to tweak and set other options. Refer to man page for more information. Now start the iscsi service:&lt;br /&gt;# /etc/init.d/iscsi start&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step # 2: Discover targets&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now use iscsiadm command, which is a command-line tool allowing discovery and login to iSCSI targets, as well as access and management of the open-iscsi database. If your storage server IP address is 192.168.1.5, enter:&lt;br /&gt;# iscsiadm -m discovery -t sendtargets -p 192.168.1.5&lt;br /&gt;# /etc/init.d/iscsi restart&lt;br /&gt;&lt;br /&gt;Now there should be a block device under /dev directory. To obtain new device name, type:&lt;br /&gt;# fdisk -l&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;# tail -f /var/log/messages&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;br /&gt;Oct 10 12:42:20 ora9is2 kernel:   Vendor: EQLOGIC   Model: 100E-00           Rev: 3.2 &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel:   Type:   Direct-Access                      ANSI SCSI revision: 05 &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd: 41963520 512-byte hdwr sectors (21485 MB) Oct 10 12:42:20 ora9is2 kernel: sdd: Write Protect is off &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd: drive cache: write through &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd: 41963520 512-byte hdwr sectors (21485 MB) Oct 10 12:42:20 ora9is2 kernel: sdd: Write Protect is off &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd: drive cache: write through &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel:  sdd: unknown partition table &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel: sd 3:0:0:0: Attached scsi disk sdd &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel: sd 3:0:0:0: Attached scsi generic sg3 type 0 &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 kernel: rtc: lost some interrupts at 2048Hz. &lt;/div&gt;&lt;div&gt;Oct 10 12:42:20 ora9is2 iscsid: connection0:0 is operational now&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;/dev/sdd&lt;/i&gt; is my new block device.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step # 3: Format and Mount iSCSI Volume&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You can now partition and create a filesystem on the target using usual fdisk and mkfs.ext3 commands:&lt;br /&gt;# fdisk /dev/sdd&lt;br /&gt;# mke2fs -j -m 0 -O dir_index /dev/sdd1&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;# mkfs.ext3 /dev/sdd1&lt;br /&gt;&lt;br /&gt;Tip: If your volume is large size like 1TB, run mkfs.ext3 in background using nohup:&lt;br /&gt;# nohup mkfs.ext3 /dev/sdd1 &amp;amp;&lt;br /&gt;&lt;br /&gt;Mount new partition:&lt;br /&gt;# mkdir /mnt/iscsi&lt;br /&gt;# mount /dev/sdd1 /mnt/iscsi&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step #4: Mount iSCSI drive automatically at boot time&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;First make sure iscsi service turned on at boot time:&lt;br /&gt;# chkconfig iscsi on&lt;br /&gt;&lt;br /&gt;Open /etc/fstab file and append config directive:&lt;br /&gt;/dev/sdd1 /mnt/iscsi ext3 _netdev 0 0&lt;br /&gt;&lt;br /&gt;Save and close the file.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reference: &lt;a href="http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-iscsi-howto.html"&gt;http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-iscsi-howto.html&lt;/a&gt;&lt;/div&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/1971318307217572208-8818116292480496300?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8818116292480496300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/10/centos-red-hat-linux-install-and-manage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8818116292480496300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8818116292480496300'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/10/centos-red-hat-linux-install-and-manage.html' title='CentOS / Red Hat Linux: Install and manage iSCSI Volume'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-612837369921748757</id><published>2010-10-21T15:54:00.001+07:00</published><updated>2010-10-21T15:56:25.604+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How can I check the password of the IUSR and IWAM local accounts on a machine?</title><content type='html'>Usually the IUSR_&lt;machine name=""&gt; and IWAM_&lt;machine name=""&gt; passwords are set automatically and are never known. However, I've seen cases in which for some reason the passwords get out of sync or corrupted and need to be reset. The easiest way to reset these passwords is to extract the passwords that Microsoft IIS has in its metabase and update the accounts in Local Users and Groups to use that password.&lt;br /&gt;&lt;br /&gt;You first need to update the adsutil.vbs script, which you'll find in the AdminScripts folder under the Inetpub folder, to display sensitive information (e.g., passwords) instead of just asterisks. Open the adsutil.vbs file in Notepad and search for the text "IsSecureProperty = True", replace this text with "IsSecureProperty = False" and save the file. Now run the following commands to return the passwords (/anonymoususerpass is the IUSR account; /wamuserpass is the IWAM_ account).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;C:\Inetpub\AdminScripts&gt;cscript adsutil.vbs get w3svc/anonymoususerpass&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/machine&gt;&lt;/machine&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;&lt;i&gt;anonymoususerpass : (STRING) "/XEv`J01T"!69I"&lt;br /&gt;&lt;br /&gt;C:\Inetpub\AdminScripts&gt;cscript adsutil.vbs get w3svc/wamuserpass&lt;br /&gt;&lt;br /&gt;wamuserpass : (STRING) "ikI37Q"W5\[,uu%"&lt;/i&gt;&lt;/machine&gt;&lt;/machine&gt;&lt;/div&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/machine&gt;&lt;/machine&gt;&lt;/div&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;If you want to reset the passwords to match the passwords you had already set in Local Users and Groups, use the following command:&lt;/machine&gt;&lt;/machine&gt;&lt;/div&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;&lt;br /&gt;&lt;i&gt;C:\Inetpub\AdminScripts&gt;cscript adsutil.vbs set w3svc/anonymoususerpass "Pa55word"&lt;br /&gt;&lt;br /&gt;anonymoususerpass : (STRING) "Pa55word"&lt;br /&gt;&lt;br /&gt;C:\Inetpub\AdminScripts&gt;cscript adsutil.vbs set w3svc/wamuserpass "Pa55word"&lt;br /&gt;&lt;br /&gt;wamuserpass : (STRING) "Pa55word"&lt;/i&gt;&lt;/machine&gt;&lt;/machine&gt;&lt;/div&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;&lt;br /&gt;You should now run the command below to sync the password from IIS with Microsoft Transaction Server (MTS) and component services:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;C:\Inetpub\AdminScripts&gt;cscript.exe synciwam.vbs -v&lt;br /&gt;&lt;br /&gt;IIS Applications Defined:&lt;br /&gt;Name, AppIsolated, Package ID&lt;/i&gt;&lt;/machine&gt;&lt;/machine&gt;&lt;/div&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;You should now restart IIS via the "All Tasks" context menu option of the IIS server in the MMC Internet Information Services (IIS) Manager snap-in.&lt;/machine&gt;&lt;/machine&gt;&lt;/div&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;&lt;br /&gt;&lt;/machine&gt;&lt;/machine&gt;&lt;/div&gt;&lt;div&gt;&lt;machine name=""&gt;&lt;machine name=""&gt;Reference: &lt;/machine&gt;&lt;/machine&gt;&lt;a href="http://www.windowsitpro.com/article/passwords/how-can-i-check-the-password-of-the-iusr-and-iwam-local-accounts-on-a-machine-.aspx"&gt;http://www.windowsitpro.com/article/passwords/how-can-i-check-the-password-of-the-iusr-and-iwam-local-accounts-on-a-machine-.aspx&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-612837369921748757?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/612837369921748757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/10/how-can-i-check-password-of-iusr-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/612837369921748757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/612837369921748757'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/10/how-can-i-check-password-of-iusr-and.html' title='How can I check the password of the IUSR and IWAM local accounts on a machine?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6796233679849223569</id><published>2010-10-21T15:37:00.003+07:00</published><updated>2010-10-21T15:44:27.246+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Retrieve the IUSR (Anonymous) password using the IIS Resource Kit Metabase Explorer</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Verdana, Arial, sans-serif; font-size: 12px; line-height: 17px; "&gt;&lt;p&gt;Download and install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&amp;amp;displaylang=en" style="color: rgb(187, 51, 0); "&gt;IIS Resource Kit&lt;/a&gt; and used it to retrieve the password of the IUSR account (IIS Anonymous User.)&lt;/p&gt;&lt;p&gt;After installing the IIS Resource Kit, follow these steps to retrieve the IUSR password using the Metabase Explorer:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Open the IIS Metabase Explorer by going to Start &gt; All Programs &gt; IIS Resources &gt; Metabase Explorer &gt; Metabase Explorer&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Go to the "View" menu and click on "Secured Data"  (this will make sure the password is not displayed as asterisks) and Inherited Data (this will display any data that the web site is inheriting from the default)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Expand the W3SVC Branch&lt;/li&gt;&lt;li&gt;Expand the Branch of an IIS site that is running anonymous access&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Note: To determine the ID of the IIS Site; select the "Web Sites" node in IIS and look for the Identifier column in the right pane.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Select the "Root" node and look for the &lt;em&gt;AnonymousUserPass&lt;/em&gt; property in the right pane.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Reference: &lt;span class="Apple-style-span" style="font-family: Georgia, serif; line-height: normal; font-size: 16px; "&gt;&lt;a href="http://blog.rafelo.com/2009/01/retrieve-iusr-anonymous-password-using.html"&gt;http://blog.rafelo.com/2009/01/retrieve-iusr-anonymous-password-using.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6796233679849223569?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6796233679849223569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/10/retrieve-iusr-anonymous-password-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6796233679849223569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6796233679849223569'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/10/retrieve-iusr-anonymous-password-using.html' title='Retrieve the IUSR (Anonymous) password using the IIS Resource Kit Metabase Explorer'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6527863807981455122</id><published>2010-10-12T22:18:00.000+07:00</published><updated>2010-10-12T22:19:32.984+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>How To Change PostgreSQL Root Password</title><content type='html'>Here is how to change the PostgreSQL root password from the Linux command line. Replace “root” with any user name to change any password. It is important to note that PostgreSQL does not have an actual “root” user name. The “postgres” user is the super-user for PostgreSQL.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;# su postgres&lt;br /&gt;# psql -d template1&lt;br /&gt;template1=# ALTER USER postgres WITH PASSWORD '${POSTGRESQL_POSTGRES_PASSWORD}';&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;You can replace “postgres” with any user name&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6527863807981455122?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6527863807981455122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/10/how-to-change-postgresql-root-password.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6527863807981455122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6527863807981455122'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/10/how-to-change-postgresql-root-password.html' title='How To Change PostgreSQL Root Password'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5265818159356085634</id><published>2010-10-04T15:52:00.002+07:00</published><updated>2010-10-04T15:56:05.748+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Getting OpenSSL to Trust the College CA</title><content type='html'>The location for certificate store for OpenSSL varies by version:&lt;br /&gt;&lt;br /&gt;Red Hat Enterprise Linux 5: /etc/pki/tls/certs&lt;br /&gt;Red Hat Enterprise Linux 4: /usr/share/ssl/certs&lt;br /&gt;Fedora: /etc/pki/tls/certs&lt;br /&gt;&lt;br /&gt;1. Change to the directory:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# cd /etc/pki/tls/certs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Next download the College root certificate:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# wget http://icca1.cc.ic.ac.uk/cdp/icrootca.cer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Create a link with the certificate hash:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# ln -s icrootca.cer `openssl x509 -hash -noout -in icrootca.cer`.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. You now need to repeat this for the College intermediate CA:&lt;br /&gt;&lt;br /&gt;# wget http://icca1.cc.ic.ac.uk/cdp/icca.cer&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# ln -s icca.cer `openssl x509 -hash -noout -in icca.cer`.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The installation is now complete. You can verify that this has been successfull as follows - ensure both command return "OK":&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# openssl verify -CApath /etc/pki/tls/certs icrootca.cer&lt;/span&gt;&lt;br /&gt;icrootca.cer: OK&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# openssl verify -CApath /etc/pki/tls/certs icca.cer&lt;/span&gt;&lt;br /&gt;icca.cer: OK&lt;br /&gt;&lt;br /&gt;Now you can connect to an SSL enabled web server that uses the College CA:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# openssl s_client -showcerts -connect icca1.cc.ic.ac.uk:443 -CApath /etc/pki/tls/certs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ensure the resulting output displays the certifcates and gives no errors.&lt;br /&gt;&lt;br /&gt;If you want to enable LDAPS (LDAP over SSL) under OpenLDAP, you need to repeat the above process but in /etc/openldap/cacerts (and make the appropriate changes in ldap.conf).&lt;br /&gt;&lt;br /&gt;Reference: &lt;a href="http://www3.imperial.ac.uk/ict/services/securitynetworkdatacentreandtelephonyservices/security/securityservices/publickeyinfrastructure/installcaonlinux"&gt;http://www3.imperial.ac.uk/ict/services/securitynetworkdatacentreandtelephonyservices/security/securityservices/publickeyinfrastructure/installcaonlinux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5265818159356085634?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5265818159356085634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/10/getting-openssl-to-trust-college-ca.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5265818159356085634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5265818159356085634'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/10/getting-openssl-to-trust-college-ca.html' title='Getting OpenSSL to Trust the College CA'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6723261925391647471</id><published>2010-09-24T14:17:00.000+07:00</published><updated>2010-09-24T14:21:33.453+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>LVM in rescue mode</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); line-height: 16px; "&gt;&lt;p&gt;&lt;span style="font-weight: bold; "&gt;e2fsck:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;p&gt;&lt;/p&gt;&lt;li&gt;Boot into rescue mode (in RHEL/Fedora this means putting in CD 1 and typing "linux rescue" at the boot prompt -- but it's essentially any minimal live CD). Rescue mode does not do anything with LVM by defualt: to activiate the volume groups, you need to issue these:&lt;br /&gt;&lt;p&gt;&lt;span style="font-family: 'courier new'; "&gt;#lvm vgscan&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; "&gt;#lvm vgchange -ay&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new'; "&gt;#lvm lvs&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;lvs will simply display your volume group and logical volume names, use this output to issue the e2fsck command: &lt;code&gt;e2fsck /dev/volumegroupname/logicalvolumename&lt;/code&gt;. Of course, pass what ever options ot e2fsck you normally would (like -y or -c).&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold; "&gt;Re-name the / volume group:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;I never thought I'd have a legitimate reason to do this, until I found myself wanting to back up data from one disc (from a dead system) on to another system. I always choose the default names for VGs and LVs, so when I put my extra disc into my live system it choked finding two volume groups named "VolumeGroup00".&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Take out that second disc, then boot into rescue mode (do not mount anything and do not run the lvm commands from the previous example):&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;#vgrename VolumeGroup00 newname&lt;/code&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Where VolumeGroup00 is the old name, and "newname" is the newname. If this was not the root filesystem we would be done and could happily reboot as normal. But, since this IS the root file system, we need to remake the initial ramdisk first (if you don't have one of those, you're off the hook):&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;#mount /dev/newname/LogVol00 /mnt/sysimage&lt;br /&gt;#mount /dev/sda1 /mnt/sysimage/boot&lt;br /&gt;#chroot /mnt/sysimage&lt;br /&gt;#cp /boot/initrd-kernelversion.img /boot/kernelversion.img.old&lt;br /&gt;#mkinitrd -v -f /boot/initrd-kernelversion.img kernelversion&lt;br /&gt;&lt;br /&gt;Don't forget to change all references to the old VG name. Typically this would be in grub.conf and fstab. After that, reboot with that second disc added and you should be fine&lt;/p&gt;&lt;p&gt;Reference: &lt;a href="http://samfw.blogspot.com/2005/12/lvm-in-rescue-mode.html"&gt;http://samfw.blogspot.com/2005/12/lvm-in-rescue-mode.html&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6723261925391647471?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6723261925391647471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/09/lvm-in-rescue-mode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6723261925391647471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6723261925391647471'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/09/lvm-in-rescue-mode.html' title='LVM in rescue mode'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-7212293592306088354</id><published>2010-09-23T17:58:00.000+07:00</published><updated>2010-09-23T18:00:21.700+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How to change the listening port for Remote Desktop</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Warning!&lt;/span&gt; The Remote Assistance feature in Microsoft Windows XP may not work correctly if you change the listening port.&lt;br /&gt;&lt;br /&gt;  1. Start Registry Editor.&lt;br /&gt;  2. Locate and then click the following registry subkey:&lt;br /&gt;     HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber&lt;br /&gt;  3. On the Edit menu, click Modify, and then click Decimal.&lt;br /&gt;  4. Type the new port number, and then click OK.&lt;br /&gt;  5. Quit Registry Editor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-7212293592306088354?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/7212293592306088354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/09/how-to-change-listening-port-for-remote.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7212293592306088354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7212293592306088354'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/09/how-to-change-listening-port-for-remote.html' title='How to change the listening port for Remote Desktop'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-3557809711770872456</id><published>2010-09-21T08:46:00.003+07:00</published><updated>2010-09-21T08:50:47.611+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtuozzo'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>How to uninstall Parallels Virtuozzo for Linux</title><content type='html'>1. stop Virtuozzo services&lt;br /&gt;service vz stop&lt;br /&gt;&lt;br /&gt;2. uninstall all Virtuozzo packages&lt;br /&gt;rpm -qa|grep swsoft|grep vz|xargs yum remove -y&lt;br /&gt;rpm -qa|grep swsoft|grep -E "virtu|-ez-|-tmpl-"|xargs yum remove -y&lt;br /&gt;&lt;br /&gt;3. remove /vz contents (directories: actionlog, backups, lock, private, root, template, vzup2date)&lt;br /&gt;cd /vz/ &amp;amp;&amp;amp; mkdir _before_reinstall &amp;amp;&amp;amp; mv * _before_reinstall&lt;br /&gt;&lt;br /&gt;4. remove configs from /etc&lt;br /&gt;mkdir -p /vz/_before_reinstall/etc &amp;amp;&amp;amp; find /etc -name vz\* -exec mv {} /vz/_before_reinstall/etc \;&lt;br /&gt;&lt;br /&gt;5. check /etc/grub.conf if it has a proper configuration (no Virtuozzo kernel, Red Hat kernel is default)&lt;br /&gt;&lt;br /&gt;6. check /etc/sysctl.conf for tuned parameters which you might not need&lt;br /&gt;&lt;br /&gt;7. reboot the server&lt;br /&gt;&lt;br /&gt;Reference: &lt;a href="http://forum.parallels.com/showthread.php?t=72613"&gt;http://forum.parallels.com/showthread.php?t=72613&lt;/a&gt;  by Alec@sw&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-3557809711770872456?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/3557809711770872456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/09/how-to-uninstall-parallels-virtuozzo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3557809711770872456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3557809711770872456'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/09/how-to-uninstall-parallels-virtuozzo.html' title='How to uninstall Parallels Virtuozzo for Linux'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5841871932542681368</id><published>2010-09-17T19:32:00.003+07:00</published><updated>2010-09-17T19:42:02.220+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Viewing a Name Server's Cache</title><content type='html'>You want to view a name server's cached data.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;br /&gt;Use rndc dumpdb (BIND 9) or ndc dumpdb (BIND 8) to dump the cache to disk, then look through the dump file.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Discussion&lt;/strong&gt;&lt;br /&gt;BIND 9 name servers only dump the contents of the cache to disk by default, but BIND 8 name servers dump both the contents of cache and authoritative zone data to disk, so you'll have to find the cached records in the file.&lt;br /&gt;&lt;br /&gt;To determine which records in a BIND 8 database dump were cached, look at the TTLs and the contents of the comment field. Authoritative zone data will have the nice, round TTLs you configured, while cached records will have had their TTLs decremented by the number of seconds they've been in the cache. Cached records will also have "Cr=" as a comment at the end of the record, giving the credibility level of the record (an indication of the quality of the cached record). For example, these records were cached from an authoritative response from the name server at 128.9.0.107:&lt;br /&gt;&lt;br /&gt;. 518380 IN NS I.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS E.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS D.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS A.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS H.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS C.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS G.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS F.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS B.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS J.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS K.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS L.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt; 518380 IN NS M.ROOT-SERVERS.NET. ;Cr=auth [128.9.0.107]&lt;br /&gt;&lt;br /&gt;Remember that dumping the cache to disk has no effect on the contents of the cache. If you want to flush (clear) the cache, see Flushing (Clearing) a Name Server's Cache.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Flushing (Clearing) a Name Server's Cache&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;br /&gt;You want to flush bad records from a name server's cache.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;br /&gt;If you run a BIND 9.2.0 or newer name server, you can flush the cache with rndc flush. With older name servers, you need to kill the name server and restart it to flush the cache. You can do that in one fell swoop with rndc restart or rndc exec.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Discussion&lt;/strong&gt;&lt;br /&gt;Clearing the cache is really a side effect of killing the name server, since BIND name servers only store cached data in memory. Since restarting the name server takes time, especially if the name server is authoritative for many zones, rndc flush is a better option.&lt;br /&gt;&lt;br /&gt;If you run multiple views on your BIND 9.2.0 or newer name server, you can flush the cache in only one view using rndc flush viewname. For example:&lt;br /&gt;&lt;br /&gt;# rndc flush internal&lt;br /&gt;BIND 9.3.0 will support flushing all of the records attached to a particular domain name with rndc flushname. For example:&lt;br /&gt;&lt;br /&gt;# rndc flushname cnn.com&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Modifying Zone Data Without Restarting the Name Server&lt;br /&gt;Problem&lt;/strong&gt;&lt;br /&gt;You want to modify your zone data without restarting the name server.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;br /&gt;Make the change to the zone data file. For BIND 9, run:&lt;br /&gt;&lt;br /&gt;# rndc reload domain-name-of-zone&lt;br /&gt;For BIND 8, run:&lt;br /&gt;&lt;br /&gt;# ndc reload domain-name-of-zone&lt;br /&gt;If you've modified multiple zones, just list them after reload. For example:&lt;br /&gt;&lt;br /&gt;# rndc reload foo.example bar.example&lt;br /&gt;&lt;strong&gt;Discussion&lt;/strong&gt;&lt;br /&gt;Remember to increment the serial number in your zone's SOA record after changing the zone data. The primary master reloads the zone regardless of whether you've incremented the serial number, since the file's modification time has changed, but your zone's slaves only have the serial number to tell them whether the zone has been updated.&lt;br /&gt;&lt;br /&gt;Reloading individual zones, as shown above, was introduced in BIND 8.2.1 and again in 9.1.0. With older versions of BIND, just use rndc reload or ndc reload, as appropriate. That takes a little more time, since the name server checks all zone data files to see which have changed.&lt;br /&gt;&lt;br /&gt;If you're reloading a zone that exists in multiple views on a BIND 9 name server, specify the view with rndc reload domain-name-of-zone class view. For example:&lt;br /&gt;&lt;br /&gt;# rndc reload foo.example in external&lt;br /&gt;Unfortunately, you can't leave out the class, even though you're unlikely ever to reload a non-Internet class zone.&lt;br /&gt;&lt;br /&gt;Telling a BIND 9 name server to reload a dynamically updated zone has no effect, since the name server doesn't expect you to update the zone manually. Telling a BIND 8 name server to reload a dynamically updated zone may work--or you may lose your manual changes.&lt;br /&gt;&lt;br /&gt;Dynamic update is, of course, another way to update zone data without restarting the name server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5841871932542681368?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5841871932542681368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/09/viewing-name-servers-cache.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5841871932542681368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5841871932542681368'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/09/viewing-name-servers-cache.html' title='Viewing a Name Server&apos;s Cache'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2931656549694807459</id><published>2010-08-26T10:55:00.002+07:00</published><updated>2010-08-26T11:01:30.875+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Changing your default language for redhat-based Linux Distribution</title><content type='html'>&lt;b&gt;Gnome GUI&lt;/b&gt;&lt;br /&gt;method 1. Go to System =&gt; Administration =&gt; Language then change your default language.&lt;div&gt;method 2. Open terminal then run system-config-language then change your default language.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Manually Edit Configuration&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: normal; font-size: 13px; "&gt;1. cd /etc/sysconfig&lt;br /&gt;&lt;br /&gt;Make backup copy of your language setting file&lt;br /&gt;2. cp i18n i18n.bak&lt;br /&gt;&lt;br /&gt;Edit language setting file to allow english as default&lt;br /&gt;3. vi i18n&lt;br /&gt;5. Edit the file to include these lines as the first three lines of the file:&lt;br /&gt;LANG="en_US.UTF-8"&lt;br /&gt;SYSFONT="latarcyrheb-sun16"&lt;br /&gt;SUPPORTED="en_US.UTF-8:en_US:en"&lt;br /&gt;&lt;br /&gt;6. Save the file and restart system. If you can not restart the system you need to have permission to restart init.d&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2931656549694807459?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2931656549694807459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/08/changing-your-default-language-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2931656549694807459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2931656549694807459'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/08/changing-your-default-language-for.html' title='Changing your default language for redhat-based Linux Distribution'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-9005407155594558640</id><published>2010-08-05T19:09:00.003+07:00</published><updated>2010-08-05T19:12:33.754+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><category scheme='http://www.blogger.com/atom/ns#' term='Mail'/><title type='text'>Where is default configuration path for spamassassin?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: sans-serif; font-weight: bold; "&gt;The default rules directory is /usr/share/spamassassin&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-weight: bold; "&gt;The site rules directory is /etc/mail/spamassassin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-weight: bold; "&gt;The updated rules directory is /var/lib/spamassassin&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-9005407155594558640?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/9005407155594558640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/08/where-is-default-configuration-path-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9005407155594558640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9005407155594558640'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/08/where-is-default-configuration-path-for.html' title='Where is default configuration path for spamassassin?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-479172588501498776</id><published>2010-08-05T16:36:00.003+07:00</published><updated>2010-08-05T16:41:31.730+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Clarification of changes on "allow-recursion" and "allow-query-cache" in BIND 9.4.1</title><content type='html'>&lt;div&gt;Everyone upgrading from older BIND versions to BIND 9.4.1 or newer should check if this change has effects on the nameserver:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There has been some confusion surrounding the changes to the "allow-recursion" and "allow-query-cache" options made with BIND 9.4.1-P1. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This document will attempt to clarify the change and the impact that it makes on BIND servers. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In BIND 9.3, there was no segregation of queries between cache and authoritative data. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The release of BIND 9.4 added fine-grained differentiation between queries against authoritative data ("allow-query") and cached data ("allow-query-cache"). This allows more precise control, particularly if you do not want your clients to use any cached data, for example, in an authoritative-only nameserver. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Prior to the release of BIND 9.4.1-P1, the default action of "allow-recursion" and "allow-query-cache" was to permit the query. The P1 patch to BIND 9.4.1 caused two changes in this behavior: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) If not explicitly set, the ACLs for "allow-query-cache" and "allow-recursion" were set to "localnets; localhost;". &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) If either "allow-query-cache" or "allow-recursion" was set, the other would be set the same value. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Upgrading from the BIND 9.3 branch to BIND 9.4.1-P1 will significantly restrict those servers that were previously recursive servers for more than "localhost; localnets;" unless configuration changes are made. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To retain the behavior prior to BIND 9.4.1-P1, the following entries should be created in your named.conf file: &lt;/div&gt;&lt;div&gt;Code:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt; options {&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     ...&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     allow-recursion { any; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     allow-query { any; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     allow-query-cache { any; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     ...&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We strongly advise against this configuration because clients spoofing queries can use your servers to launch distributed denial-of-service attacks. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The recommended method is to create ACLs that match hosts that should be allowed access to cache and recursion on the servers. For example, if you wanted to provided recursion and access to the cache to clients you trusted, you could list them in an ACL such as the following: &lt;/div&gt;&lt;div&gt;Code:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt; acl "trusted" {&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     192.168.0.0/16;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     10.153.154.0/24;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     localhost;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     localnets;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt; &lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt; options {&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     ...&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     allow-query { any; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     allow-recursion { trusted; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     allow-query-cache { trusted; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;     ...&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt; };&lt;/i&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This example ACL includes 192.168.0.0/16 and 10.153.154.0/24 as sample networks that would require access. You must replace these sample networks with networks that correctly reflect your environment. This will allow anyone to query your server for authoritative data, but only those hosts within the "trusted" ACL access to your cache and recursion. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-479172588501498776?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/479172588501498776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/08/clarification-of-changes-on-allow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/479172588501498776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/479172588501498776'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/08/clarification-of-changes-on-allow.html' title='Clarification of changes on &quot;allow-recursion&quot; and &quot;allow-query-cache&quot; in BIND 9.4.1'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4254329644208443739</id><published>2010-08-04T17:31:00.001+07:00</published><updated>2010-08-04T17:33:38.333+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How to list running application pool in IIS 6.0?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Tahoma; font-size: medium; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;You can use the command-line script iisapp.vbs, which is stored in &lt;i&gt;systemroot&lt;/i&gt;\system32, to view any worker processes that are currently running. This command is often used for troubleshooting.&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;The computer issuing the command must be running Windows XP or a member of the Windows Server 2003 family. The computer that the command affects must be running a member of the Windows Server 2003 family with IIS 6.0.&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;b&gt;!!!&lt;/b&gt;  &lt;b&gt;Important&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;You must be a member of the Administrators group on the local computer to run scripts and executables. As a security best practice, log on to your computer by using an account that is not in the Administrators group, and then use the &lt;b&gt;runas&lt;/b&gt; command to run your script or executable as an administrator. At a command prompt, type &lt;b&gt;runas /profile /&lt;/b&gt;&lt;i&gt;User:MyComputer&lt;/i&gt;&lt;b&gt;\&lt;/b&gt;&lt;i&gt;Administrator &lt;/i&gt;&lt;b&gt;cmd&lt;/b&gt; to open a command window with administrator rights and then type &lt;b&gt;cscript.exe&lt;/b&gt;&lt;i&gt;ScriptName&lt;/i&gt; (include the script's full path and any parameters).&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;This topic includes the following information:&lt;/p&gt;&lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="listBullet" valign="top" style="color: rgb(166, 166, 166); font-size: 19px; "&gt;•&lt;/td&gt;&lt;td class="listItem" style="padding-top: 0em; padding-right: 0em; padding-bottom: 0em; padding-left: 0.5em; "&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Syntax: The order in which you must type a command and any arguments and options that follow it.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="listBullet" valign="top" style="color: rgb(166, 166, 166); font-size: 19px; "&gt;•&lt;/td&gt;&lt;td class="listItem" style="padding-top: 0em; padding-right: 0em; padding-bottom: 0em; padding-left: 0.5em; "&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Parameters: The values that are given to variables in the command.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="listBullet" valign="top" style="color: rgb(166, 166, 166); font-size: 19px; "&gt;•&lt;/td&gt;&lt;td class="listItem" style="padding-top: 0em; padding-right: 0em; padding-bottom: 0em; padding-left: 0.5em; "&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Examples: Sample code and an explanation of the results.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a name="EIC" style="color: rgb(0, 51, 204); "&gt;&lt;/a&gt;&lt;h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 15px; font-weight: bold; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; "&gt;Syntax&lt;/h2&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;b&gt;iisapp&lt;/b&gt;&lt;i&gt; [&lt;/i&gt;&lt;b&gt;/a&lt;/b&gt;&lt;i&gt; AppPoolName | &lt;/i&gt;&lt;b&gt;/p&lt;/b&gt;&lt;i&gt; PID]&lt;/i&gt;&lt;/p&gt;&lt;a name="EXC" style="color: rgb(0, 51, 204); "&gt;&lt;/a&gt;&lt;h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 15px; font-weight: bold; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; "&gt;Parameters&lt;/h2&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;b&gt;/a&lt;/b&gt;&lt;b&gt;AppPoolName&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Optional. Specifies the name of a particular application pool.&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;b&gt;/p&lt;/b&gt;&lt;b&gt;PID&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Optional. Specifies an application pool by its ID number.&lt;/p&gt;&lt;a name="EFD" style="color: rgb(0, 51, 204); "&gt;&lt;/a&gt;&lt;h2 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 15px; font-weight: bold; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; "&gt;Examples&lt;/h2&gt;&lt;h3 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; margin-top: 8px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-bottom: 4px; "&gt;Example 1:&lt;/h3&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;The following command displays all of the application pools that are running on the local computer:&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;b&gt;iisapp&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;In response, &lt;b&gt;iisapp&lt;/b&gt; displays all of the currently running applications, identifying each application pool by its process ID (PID) and application pool ID (AppPoolID). &lt;b&gt;Iisapp &lt;/b&gt;omits all of the optional parameters and accepts the default values.&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;span class="codeSample" style="font-family: 'Lucida Console', 'Courier New'; "&gt;W3wp.exe PID: 2232 AppPoolID: DefaultAppPool&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;span class="codeSample" style="font-family: 'Lucida Console', 'Courier New'; "&gt;W3wp.exe PID: 2608 AppPoolID: MyAppPool&lt;/span&gt;&lt;/p&gt;&lt;h3 style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; margin-top: 8px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-bottom: 4px; "&gt;Example 2:&lt;/h3&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;Use the following command to view a specific application by entering its PID:&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;b&gt;iisapp /p 2608&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;In response, &lt;b&gt;iisapp&lt;/b&gt; displays the specified application.&lt;/p&gt;&lt;p style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;b&gt;W3wp.exe PID: 2608 AppPoolID: MyAppPool&lt;/b&gt;&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/1971318307217572208-4254329644208443739?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4254329644208443739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/08/how-to-list-running-application-pool-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4254329644208443739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4254329644208443739'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/08/how-to-list-running-application-pool-in.html' title='How to list running application pool in IIS 6.0?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5704003613888689067</id><published>2010-08-03T21:05:00.003+07:00</published><updated>2010-08-03T21:07:18.355+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>how to upgrade CPAN module for perl</title><content type='html'>run these command&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;perl -MCPAN -e 'shell'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;then enter these command&lt;/div&gt;&lt;div&gt;# install Bundle::CPAN&lt;/div&gt;&lt;div&gt;# reload cpan&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5704003613888689067?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5704003613888689067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/08/how-to-upgrade-cpan-module.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5704003613888689067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5704003613888689067'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/08/how-to-upgrade-cpan-module.html' title='how to upgrade CPAN module for perl'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5224002147694516525</id><published>2010-08-03T20:57:00.003+07:00</published><updated>2010-08-03T21:05:02.859+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>how to install perl module</title><content type='html'>method 1:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;run command&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;perl -MCPAN -e 'install &lt;i&gt;Module::Name&lt;/i&gt;'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;or run&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;perl -MCPAN -e 'shell'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;then enter these command&lt;/div&gt;&lt;div&gt;# install &lt;i&gt;Module::Name&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Module::Name is name of module which need to install&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;method 2:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;download module source code you need to install&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- extract source code archive (untar and unzip)&lt;/div&gt;&lt;div&gt;- change directory to source code path&lt;/div&gt;&lt;div&gt;- run these commands.&lt;/div&gt;&lt;div&gt;   # perl MakeFile.PL&lt;/div&gt;&lt;div&gt;   # make&lt;/div&gt;&lt;div&gt;   # make test&lt;/div&gt;&lt;div&gt;   # make install&lt;/div&gt;&lt;div&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/1971318307217572208-5224002147694516525?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5224002147694516525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/08/how-to-install-perl-module.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5224002147694516525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5224002147694516525'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/08/how-to-install-perl-module.html' title='how to install perl module'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-3494153159839179362</id><published>2010-08-03T19:22:00.004+07:00</published><updated>2010-08-03T19:34:32.900+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Prereq 'v0.002.1' for 'Net::DNS::Resolver::Programmable' is not supported by Module::Build::Compat</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;When I run &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;perl -MCPAN -e 'install Mail::SPF'&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;I get this&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;CPAN: Storable loaded ok&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Going to read /root/.cpan/Metadata&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  Database was generated on Sat, 06 Feb 2010 07:43:02 GMT&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Running install for module Mail::SPF&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Running make for J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.007.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;CPAN: Digest::MD5 loaded ok&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;CPAN: Compress::Zlib loaded ok&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Checksum for /root/.cpan/sources/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.007.tar.gz ok&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Scanning cache /root/.cpan/build for sizes&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/MANIFEST&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/TODO&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/CHANGES&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/META.yml&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/MANIFEST.SKIP&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/INSTALL&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/README&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/Makefile.PL&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/LICENSE&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/Build.PL&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/SIGNATURE&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Server.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Util.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mod.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Result.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Request.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/MacroString.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/SenderIPAddrMech.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Exception.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Base.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Term.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Record.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/v1&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/v1/Record.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mod&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mod/Redirect.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mod/Exp.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/PTR.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/A.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/All.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/IP6.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/MX.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/Include.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/Exists.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/Mech/IP4.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/v2&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/lib/Mail/SPF/v2/Record.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/libmail-spf-perl.install&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/spf-tools-perl.postinst&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/rules&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/compat&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/changelog&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/watch&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/spf-tools-perl.prerm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/copyright&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/spf-tools-perl.install&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/debian/control&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/bin&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/bin/spfquery&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/Mail-SPF-Test-lib.pm&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/90-author-pod-validation.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/00.01-class-util.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/10.00-rfc4408.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/rfc4408-tests.yml&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/10.01-rfc4406.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/00.04-class-server.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/00.05-class-macrostring.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/00.00-class-misc.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/00.02-class-request.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/rfc4406-tests.yml&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/00.99-class-misc.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/t/00.03-class-result.t&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/sbin&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Mail-SPF-v2.007/sbin/spfd&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Removing previously used /root/.cpan/build/Mail-SPF-v2.007&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  CPAN.pm: Going to build J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.007.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;# running Build.PL &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Creating new 'MYMETA.yml' with configuration results&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Creating new 'Build' script for 'Mail-SPF' version 'v2.7.0'&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Prereq 'v0.002.1' for 'Net::DNS::Resolver::Programmable' is not supported by Module::Build::Compat&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Running make test&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  Make had some problems, maybe interrupted? Won't test&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Running make install&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  Make had some problems, maybe interrupted? Won't install&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;b&gt;Resolution:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;run this command&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;perl -MCPAN -e 'install Bundle::CPAN'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;with successfully installed&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-3494153159839179362?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/3494153159839179362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/08/prereq-v00021-for-netdnsresolverprogram.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3494153159839179362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3494153159839179362'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/08/prereq-v00021-for-netdnsresolverprogram.html' title='Prereq &apos;v0.002.1&apos; for &apos;Net::DNS::Resolver::Programmable&apos; is not supported by Module::Build::Compat'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-7019263386175556855</id><published>2010-07-29T18:16:00.001+07:00</published><updated>2010-07-29T18:21:41.253+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Default Seach Provider corrupt in IE8</title><content type='html'>&lt;span class="Apple-style-span"  style="color:#1C1C1C;"&gt;&lt;span class="Apple-style-span" style="line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;When you install IE7 or IE8 on winxp sp2 before upgrade windows to sp3, you will can't remove IE7/IE8 by Add and Remove Program.&lt;br /&gt;&lt;br /&gt;If you upgrade IE7 to IE8 on winxp sp3, you may receive following error when you launch IE.&lt;br /&gt;&lt;img src="http://img253.imageshack.us/img253/974/errormj4.jpg" width="400" /&gt;&lt;br /&gt;&lt;br /&gt;Resolution:&lt;br /&gt;&lt;br /&gt;1. Click Start.&lt;br /&gt;2. Click Run.&lt;br /&gt;3. Type in regedit and press enter.&lt;br /&gt;4. In the registry editor, expand and navigate to the following registry key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders.&lt;br /&gt;5. Right click User Shell Folders.&lt;br /&gt;6. Select New and then Expandable String value.&lt;br /&gt;7. A new value is added in right pane.&lt;br /&gt;8. Type in AppData and press enter.&lt;br /&gt;9. Double click AppData.&lt;br /&gt;10. Under value data type in:&lt;br /&gt;&lt;br /&gt;%USERPROFILE%\Application Data&lt;br /&gt;&lt;br /&gt;11. Note: If there is already AppData in the right pane, double click and correct it to %USERPROFILE%\Application Data&lt;br /&gt;&lt;br /&gt;If the above steps do not work,&lt;br /&gt;1. Click Start.&lt;br /&gt;2. Click Control Panel.&lt;br /&gt;3. Click User Accounts.&lt;br /&gt;4. Click Create a new user account.&lt;br /&gt;5. Choose appropirate name for the new user account.&lt;br /&gt;6. Choose Administrator or Limited or Standard user. It's upto you.&lt;br /&gt;7. Click Create.&lt;br /&gt;8. Click Start, Log out from the current user account and log back in with the new one.&lt;br /&gt;9. If the new user account is working for you, obviously, the old user account has got corrupted and you will have to use the new user account. Also, FYI: you can transfer old user settings and files to the new user account.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-7019263386175556855?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/7019263386175556855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/default-seach-provider-corrupt-in-ie8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7019263386175556855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7019263386175556855'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/default-seach-provider-corrupt-in-ie8.html' title='Default Seach Provider corrupt in IE8'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-1104588236501964554</id><published>2010-07-29T13:47:00.002+07:00</published><updated>2010-07-29T13:50:33.700+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Controlling Core Dump Files in Linux</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:Arial, Helvetica, sans-serif;font-size:12px;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;การเกิด core dump ได้นั้น สาเหตุหลักๆคือ การทำงานผิดพลาดของโปรแกรม (program crash) หรือ อีกสาเหตุเกิดจากการที่ program พยายาม access memory ในส่วนที่ไม่ได้รับอนุญาต จึงทำให้ OS สั่งปิดโปรแกรม (Kill process) นั้นซะ จากเหตุการณ์ทั้งสอง OS ก็ได้สร้าง Core dump file ขึ้นมาเพื่อช่วยให้เหล่า programmer ทั้งหลายพบจุดผิดพลาดของโปรแกรม หรือ ช่วยในการ debug โปรแกรมนั้นเอง&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;ลักษณะของ core file นั้นสามารถสังเกตุได้ว่าไฟล์จะชื่อขึ้นต้นด้วยคำว่า core และตามด้วยจุดกับตัวเลข (ซึ่งก็คือ PID) เช่น core.20 เป็นต้น&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;เรามาดูกันว่าเราจะจัดการเจ้า core file ได้อย่างไรบ้างกันดีกว่า&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;ถ้าต้องการปิดไม่ให้มีการสร้าง core file ขึ้นมาให้ใช้คำสั่ง&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;#ulimit -S -c 0 &gt; /dev/null 2&gt;&amp;amp;1&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;ถ้าต้องการเปิดให้มีการเขียน core file ได้ให้ใช้คำสั่ง&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;#ulimit -S -c 25000 &gt; /dev/null 2&gt;&amp;amp;1 //กำหนดให้ core file มีขนาดเท่ากับ 25,000 byte&lt;br /&gt;#ulimit -S -c unlimited &gt; /dev/null 2&gt;&amp;amp;1 //กำหนดให้ core file มีขนาดไม่จำกัด&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;-c คือขนาดสูงสุดของ core file&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;หรือถ้าต้องการให้ใช้งานตลอดไปให้แก้ไขไฟล์ /etc/profile แล้วเพิ่มคำสั่งข้างต้นลงไป&lt;br /&gt;&lt;span id="more-521"&gt;&lt;/span&gt;&lt;br /&gt;เรายังสามารถกำหนด path ที่เก็บและชื่อของ core file ว่าจะขึ้นต้นว่าอะไรได้ด้วย ซึ่งก็ให้ใส่ค่า path และชื่อไฟล์ที่ต้องการไปในไฟล์ proc/sys/kernel/core_pattern โดยใช้คำสั่ง echo เช่น กำหนดให้ core file ไปถูกเขียนใน directory ที่ /path/corefile และชื่อ file ชื่อว่า core&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;#echo “/path/corefiles/core” &gt; /proc/sys/kernel/core_pattern&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;ด้านล่างนี้เป็น parameter ที่สามารถใช้ได้กับคำสั่งการแก้ไข core pattern&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 6px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font: normal normal normal 12px/normal Arial, Helvetica, sans-serif; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%% – A single % character&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%p – PID of dumped process&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%u – real UID of dumped process&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%g – real GID of dumped process&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%s – number of signal causing dump&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%t – time of dump (secs since 0:00h, 1 Jan 1970)&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%h – hostname (same as the ‘nodename’ returned by uname(2))&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; list-style-type: none; list-style-position: initial; list-style-image: initial; background-image: url(http://www.ezylinux.com/wp-content/themes/ezylinuxwp/images/bullet4.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: 0px 6px; background-repeat: no-repeat no-repeat; "&gt;%e – executable filename&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;จากข้างต้นโดย default แล้วเวลาเกิดการเขียน core file จะมีการใส่เลข .PID เข้าไปหลังชื่อ core file เราสามารถกำหนดไม่ให้มีการใส่ .PID เข้าไปหลังจากระบบ dump core file ได้โดยใช้คำสั่ง&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;#echo “0″ &gt; /proc/sys/kernel/core_uses_pid&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;สุดท้ายทดสอบการเซตค่าการสร้าง core file โดยใช้คำสั่ง&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;#kill -s SIGSEGV $$&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;Reference:&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;&lt;a href="http://www.ezylinux.com/system/controlling-core-dump-files-in-linux/"&gt;http://www.ezylinux.com/system/controlling-core-dump-files-in-linux/&lt;/a&gt;&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/1971318307217572208-1104588236501964554?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/1104588236501964554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/controlling-core-dump-files-in-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/1104588236501964554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/1104588236501964554'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/controlling-core-dump-files-in-linux.html' title='Controlling Core Dump Files in Linux'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-9164271602849291517</id><published>2010-07-29T13:43:00.003+07:00</published><updated>2010-07-29T13:53:38.518+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Enable Core Dumps for Daemons or Services in Red Hat Enterprise Linux</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:Arial, Helvetica, sans-serif;font-size:12px;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 12px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(51, 51, 51); font-size: 12px; line-height: 18px; "&gt;โดยทั่วไปแล้ว daemon เป็นการทำงานในรูปแบบ background process การสั่งให้ deamon ทำงานสามารถทำได้โดยใช้ service command หรือ ใช้ init script การเปิดใช้งาน core dump (ดูรายละเอียดของ core dump ได้ที่ &lt;a href="http://www.ezylinux.com/system/controlling-core-dump-files-in-linux/" style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: rgb(204, 0, 0); "&gt;Core dump file&lt;/a&gt;) เพื่อใช้งานการ debug ของโปรแกรมหรือตามความต้องการเพื่อตรวจสอบข้อผิดพลาดของโปรแกรม&lt;br /&gt;&lt;span id="more-527"&gt;&lt;/span&gt;&lt;br /&gt;การ enable core dump สำหรับ daemon หรือ service สามารถทำได้ดังนี้&lt;/p&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 10px; padding-left: 20px; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; line-height: 18px; font-size: 12px; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;แก้ไขไฟล์  /etc/profile ด้วยคำสั่ง vi /etc/profile&lt;/li&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;    แก้ไขบรรทัด     ulimit -S -c 0 &gt; /dev/null 2&gt;&amp;amp;1      แก้ไขเป็น&lt;/pre&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;                        ulimit -c unlimited &gt;/dev/null 2&gt;&amp;amp;1&lt;/pre&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;แก้ไขไฟล์ /etc/sysconfig/init ด้วยการเพิ่ม DAEMON_COREFILE_LIMIT=’unlimited’ เข้าไป&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;โดยทั่วไปแล้ว core dump ไม่สามารถสร้างโดยโปรแกรมที่รันด้วย setuid เพื่อป้องกันข้อมูลรั่วไหลออกไปยัง user อื่น ดังนั้นเราจึงต้องแก้ไขให้สามารถทำ core dump ใน setuid program ด้วย&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 6px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; font: normal normal normal 12px/normal Arial, Helvetica, sans-serif; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;สำหรับ Red Hat Enterprise Linux 5:&lt;/li&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;echo 2 &gt; /proc/sys/fs/suid_dumpable&lt;/pre&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;สำหรับ Red Hat Enterprise Linux 4:&lt;/li&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;echo 2 &gt; /proc/sys/kernel/suid_dumpable&lt;/pre&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;สำหรับ Red Hat Enterprise Linux 3:&lt;/li&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;echo 1 &gt; /proc/sys/kernel/core_setuid_ok&lt;/pre&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;แก้ไขไฟล์ /etc/sysctl.conf เพื่อเพิ่มข้อความด้านล่างลงไป&lt;/li&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;fs.suid_dumpable = 2      # RHEL 5 only &lt;/pre&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;kernel.suid_dumpable = 2  # RHEL 4 only &lt;/pre&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;kernel.core_setuid_ok = 1 # RHEL 3 only &lt;/pre&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;kernel.core_pattern = /tmp/core&lt;/pre&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; color: rgb(51, 51, 51); line-height: 18px; background-position: initial initial; background-repeat: initial initial; "&gt;Reload settings ด้วยการใช้คำสั่ง sysctl -p&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Reference:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#333333;"&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;a href="http://www.ezylinux.com/system/enable-core-dumps-for-daemons-or-services-in-red-hat-enterprise-linux"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.ezylinux.com/system/enable-core-dumps-for-daemons-or-services-in-red-hat-enterprise-linux&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-9164271602849291517?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/9164271602849291517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/enable-core-dumps-for-daemons-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9164271602849291517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9164271602849291517'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/enable-core-dumps-for-daemons-or.html' title='Enable Core Dumps for Daemons or Services in Red Hat Enterprise Linux'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-422942606087450052</id><published>2010-07-25T13:41:00.006+07:00</published><updated>2010-07-25T14:04:02.818+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>TCP/IP Stack Hardening</title><content type='html'>&lt;p style="font-family: Tahoma; font-size: medium; "&gt;&lt;/p&gt;&lt;p&gt;If you run a UNIX-like operating system, you can make it more secure by slightly modifying the behavior of its TCP/IP implementation. &lt;/p&gt;&lt;p&gt;This page lists modifications for the various TCP/IP protocols. For the most part, these are commands that would go into a boot script such as /etc/rc.sysinit or /etc/rc.local. &lt;/p&gt;&lt;p&gt;The tables only list the possible commands — some tuning steps are not possible (at least as far as I know) on certain UNIX implementations. &lt;/p&gt;&lt;p&gt;If there is a dangerous type of packet that might be allowed under a strict interpretation of the protocols, but which is currently considered to be risky, the listed commands frequently list how to both ignore inbound packets and refuse to send outbound packets. This prevents your host from being victimized and prevents it from being used to launch attacks.&lt;/p&gt;&lt;p&gt;This page only describes how to harden the TCP/IP stack on UNIX-like operating systems. It is based on the recommendations found in the following pages, plus my commentary and explanation:&lt;/p&gt;&lt;p&gt;&lt;b&gt;ARP&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Decrease the ARP cache cleanup interval.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt face="Courier, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;no -o arpt_killc=20&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FreeBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt face="Courier, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.link.ether.inet.max_age=1200&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt face="Courier, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/arp arp_cleanup_interval 60000&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Consider static ARP (but also consider the maintenance problems!).&lt;/b&gt; This does not scale well to routine use on LANs, but it &lt;em&gt;might&lt;/em&gt; be worth its trouble on a small sensitive LAN — a DMZ LAN in your network perimeter, or a small LAN populated by a few sensitive servers and a router port.&lt;em&gt;Remember that if you change the Ethernet card in one machine, you must then modify and re-run the static ARP script boot script on&lt;/em&gt; &lt;em style="text-decoration: underline; "&gt;every&lt;/em&gt; &lt;em&gt;host on that LAN!&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;If you want to do this, you will need a script like the following, with IP and MAC addresses changed as needed. For thorough paranoia, define a MAC address for&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;em&gt;all&lt;/em&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;possible IP addresses on the LAN, even ones not in use. For the unused IP addresses, use a MAC address that you know will not exist on that LAN (maybe that of an Ethernet card on another LAN).&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;tt face="Courier, monospace" style=" "&gt;arp -s 10.1.1.1 00:02:E3:05:9F:A3&lt;br /&gt;arp -s 10.1.1.2 00:08:C7:29:E7:31&lt;br /&gt;arp -s 10.1.1.3 00:60:97:B9:3B:B5&lt;br /&gt;&lt;/tt&gt;&lt;em&gt;... and so on ...&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;em&gt;&lt;h2&gt;&lt;/h2&gt;&lt;h2 style="font-size: medium; "&gt;ICMP&lt;/h2&gt;&lt;p style="font-weight: normal; font-size: medium; "&gt;&lt;b&gt;Disable ICMP broadcast echo activity.&lt;/b&gt; Otherwise, your system could be used as part of a Smurf attack:&lt;/p&gt;&lt;table border="2" size="medium" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); font-weight: normal;  "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt face="Courier, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;no -o directed_broadcast=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FreeBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt face="Courier, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.inet.icmp.bmcastecho=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;HP-UX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_respond_to_echo_broadcast 0&lt;br /&gt;ndd -set /dev/ip ip_forward_directed_broadcasts 0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IRIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;systune allow_brdaddr_srcaddr 0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;OpenBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Already ignores these by default&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_respond_to_echo_broadcast 0&lt;br /&gt;ndd -set /dev/ip ip6_respond_to_echo_multicast 0&lt;br /&gt;ndd -set /dev/ip ip_forward_directed_broadcasts &lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-weight: normal; font-size: medium; "&gt;&lt;b&gt;Disable ICMP routing redirects.&lt;/b&gt; Otherwise, your system could have its routing table misadjusted by an attacker.&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); font-weight: normal; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;no -o ipignoreredirects=1&lt;br /&gt;no -o ipsendredirects=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FreeBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.inet.ip.redirect=0&lt;br /&gt;sysctl -w net.inet.ip6.redirect=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;HP-UX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_send_redirects 0&lt;br /&gt;ndd -set /dev/ip ip_forward_directed_broadcasts 0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IRIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;systune icmp_dropredirects 1&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.ipv4.conf.all.accept_redirects=0&lt;br /&gt;sysctl -w net.ipv6.conf.all.accept_redirects=0&lt;br /&gt;sysctl -w net.ipv4.conf.all.send_redirects=0&lt;br /&gt;sysctl -w net.ipv6.conf.all.send_redirects=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;OpenBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.inet.icmp.rediraccept=0&lt;br /&gt;sysctl -w net.inet6.icmp6.rediraccept=0 &lt;/span&gt;&lt;/tt&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;Those two disable the &lt;/span&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;acceptance&lt;/span&gt;&lt;/em&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; of ICMP Redirect.&lt;br /&gt;To disable &lt;/span&gt;&lt;em&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sending&lt;/span&gt;&lt;/em&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; ICMP Redirect messages:&lt;br /&gt;&lt;/span&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.inet.ip.redirect=0&lt;br /&gt;sysctl -w net.inet6.ip6.redirect=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_ignore_redirect 1&lt;br /&gt;ndd -set /dev/ip ip6_ignore_redirect 1&lt;br /&gt;ndd -set /dev/ip ip_send_redirects 0&lt;br /&gt;ndd -set /dev/ip ip6_send_redirects 0&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;&lt;p&gt;&lt;b&gt;Disable ICMP router solicitations and advertisements, and ICMP subnet mask requests and replies.&lt;/b&gt; An attacker might be able to use unsolicited advertisements and replies to misadjust host routing tables. An attack also might be able to use solicitations and requests to reverse engineer some details of your network infrastructure. &lt;em&gt;It appears that you will have to do this with packet-filtering rules on the host.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Disable ICMP broadcast probes.&lt;/b&gt; Otherwise, an attacker might be able to reverse engineer some details of your network infrastructure.&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;no -o icmpaddressmask=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FreeBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.inet.icmp.maskrepl=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;HP-UX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0&lt;br /&gt;ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IRIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;You will have to block these with a packet filter like &lt;/span&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ipfilterd&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;You will have to block these with a packet filter like &lt;/span&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;iptables&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;OpenBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Already ignores these by default&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0&lt;br /&gt;ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;&lt;span class="Apple-style-span"  style=" ;font-size:medium;"&gt;IP&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;b&gt;Disable IP source routing.&lt;/b&gt; The only use of IP source routing these days is by attackers trying to spoof IP addresses that you would trust as internal hosts.&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;no -o ipsrcroutesend=0&lt;br /&gt;no -o ipsrcrouteforward=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FreeBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.inet.ip.sourceroute=0&lt;br /&gt;sysctl -w net.inet.ip.accept_sourceroute=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;HP-UX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_src_route_forward 0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IRIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;systune ipforward 2&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.ipv4.conf.all.accept_source_route=0&lt;br /&gt;sysctl -w net.ipv4.conf.all.forwarding=0&lt;br /&gt;sysctl -w net.ipv4.conf.all.mc_forwarding=0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;OpenBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Already ignores these by default&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_forward_src_routed 0&lt;br /&gt;ndd -set /dev/ip ip6_forward_src_routed 0&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;b&gt;Enforce sanity checking, also called ingress filtering or egress filtering.&lt;/b&gt; The point is to drop a packet if the source and destination IP addresses in the IP header do not make sense when considered in light of the physical interface on which it arrived.&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.ipv4.conf.all.rp_filter=1&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;b&gt;Log and drop "Martian" packets.&lt;/b&gt; A "Martian" packet is one for which the host does not have a route back to the source IP address (it apparently dropped in from Mars). These days most hosts have a default route, meaning that there would be no such thing as a Martian packet, but to be safe and complete...&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.ipv4.conf.all.log_martians=1&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;b&gt;Enforce strict multi-homing for non-forwarding multi-homed systems.&lt;/b&gt; If a host is connected to more than one LAN, but it should not act as an IP router, make certain that it does not forward IP datagrams between networks. Maybe it is a firewall, or maybe it is just a multi-homed host.&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/ip ip_strict_dst_multihoming 1&lt;br /&gt;ndd -set /dev/ip ip6_strict_dst_multihoming 1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;TCP&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;&lt;b&gt;Increase resiliance under heavy TCP load (which makes the system more resistant to SYN Flood attacks).&lt;/b&gt; There are five major steps to making a system more resiliant under heavy, possibly malicious, TCP load:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Buy more RAM.&lt;/b&gt; Each inbound SYN packet is intended to establish a TCP circuit, which requires resources on the server. The TCP buffers require memory to be allocated.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Use TCP SYN Cookies (Linux and BSD only).&lt;/b&gt; With TCP Syn Cookies, the kernel does not really allocate the TCP buffers unless the server's ACK/SYN packet gets an ACK back, meaning that it was a legitimate request.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Reduce the allowed number of HALF_OPEN TCP circuits.&lt;/b&gt; Further requests are refused, a denial of service, but at least the server hasn't run out of memory.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Reduce the amount of time an opening TCP circuit can stay in the HALF_OPEN state.&lt;/b&gt; The server is made less patient — if the TCP circuit is not fully established quickly, it is dropped and the client, if legitimate but very slow, must start again.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Reduce the amount of time a closing TCP circuit can stay in the TIME_WAIT state.&lt;/b&gt; Some clients are very rude, apparently Microsoft Explorer is particularly bad. They establish a connection, get their data, but then refuse to participate in cleanly shutting down the TCP circuit. At least for busy web servers, make them very impatient with such nonsense, dropping these no longer active connections and freeing resources.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The following show the vendor recommendations for tuning the TCP queue length and circuit establishment timers, and how to reduce TCP TIME_WAIT to 60 seconds.&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;no -o clean_partial_conns=1&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FreeBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w kern.ipc.somaxconn=1024&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;HP-UX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/tcp tcp_syn_rcvd_max 1024&lt;br /&gt;ndd -set /dev/tcp tcp_conn_request_max 200 ndd -set /dev/tcp tcp_time_wait_interval 60000&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IRIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;systune tcp_2msl 60&lt;/span&gt;&lt;/tt&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;The kernel automatically limits the queue of pending connections.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.ipv4.tcp_max_syn_backlog=1280&lt;br /&gt;sysctl -w net.ipv4.tcp_syncookies=1&lt;/span&gt;&lt;/tt&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;Already drops inactive TCP connections within 60 seconds&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;OpenBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Already has a resilient TCP implementation by default&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/tcp tcp_conn_req_max_q 1024&lt;br /&gt;ndd -set /dev/tcp tcp_conn_req_max_q0 4096&lt;br /&gt;ndd -set /dev/tcp tcp_time_wait_interval 60000&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;b&gt;Defend against TCP connection hijacking by following the recommendations of RFC 1948.&lt;/b&gt; Most UNIX implementations use RFC 1948 recommendations to generate initial sequence numbers, but Solaris (at least up through Solaris 8) needs a little help.&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/tcp tcp_strong_iss 2&lt;/span&gt;&lt;/tt&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;To configure this behavior to be the default after future reboots, put the line &lt;/span&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;TCP_STRONG_ISS=2&lt;/span&gt;&lt;/tt&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; in the file &lt;/span&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;/etc/default/inetinit&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;b&gt;Increase TCP send and receive window sizes to at least 32 kbytes.&lt;/b&gt; But do &lt;em&gt;not&lt;/em&gt; increase these above 64 kbytes unless you fully understand and support both &lt;a href="http://www.ietf.org/rfc/rfc1323.txt" style="color: rgb(80, 0, 0); "&gt;RFC 1323&lt;/a&gt; and&lt;a href="http://www.ietf.org/rfc/rfc2018.txt" style="color: rgb(80, 0, 0); "&gt;RFC 2018.&lt;/a&gt;&lt;/p&gt;&lt;table border="2" style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(208, 255, 255); background-position: initial initial; background-repeat: initial initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;AIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;no -o tcp_sendspace=32768&lt;br /&gt;no -o tcp_recvspace=32768&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FreeBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;sysctl -w net.inet.tcp.sendspace=32768&lt;br /&gt;sysctl -w net.inet.tcp.recvspace=32768&lt;/span&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;HP-UX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The TCP send and receive spaces are 32 kbytes by default.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;IRIX&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The TCP send and receive spaces are 64 kbytes by default.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Linux&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The kernel supports RFC 1323 and RFC 2018 and dynamically adjusts the TCP send and receive space by default&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;OpenBSD&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;The kernel supports RFC 1323 and RFC 2018 and dynamically adjusts the TCP send and receive space by default&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solaris&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;tt style="font-family: Courier, monospace; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ndd -set /dev/tcp tcp_xmit_hwat 32768&lt;br /&gt;ndd -set /dev/tcp tcp_recv_hwat 32768&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reference:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cromwell-intl.com/security/security-stack-hardening.html"&gt;http://www.cromwell-intl.com/security/security-stack-hardening.html&lt;/a&gt;&lt;/div&gt;&lt;/em&gt;&lt;p&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/1971318307217572208-422942606087450052?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/422942606087450052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/tcpip-stack-hardening.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/422942606087450052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/422942606087450052'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/tcpip-stack-hardening.html' title='TCP/IP Stack Hardening'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2034881527410082264</id><published>2010-07-23T14:33:00.000+07:00</published><updated>2010-07-23T14:36:17.185+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Linux Increase The Maximum Number Of Open Files / File Descriptors (FD)</title><content type='html'>&lt;div&gt;How do I increase the maximum number of open files under CentOS Linux? How do I open more file descriptors under Linux?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The ulimit command provides control over the resources available to the shell and/or to processes started by it, on systems that allow such control. The maximum number of open file descriptors displayed with following command (login as the root user).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Command To List Number Of Open File Descriptors&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Use the following command command to display maximum number of open file descriptors:&lt;/div&gt;&lt;div&gt;cat /proc/sys/fs/file-max&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Output:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;75000&lt;/div&gt;&lt;div&gt;75000 files normal user can have open in single login session. To see the hard and soft values, issue the command as follows:&lt;/div&gt;&lt;div&gt;# ulimit -Hn&lt;/div&gt;&lt;div&gt;# ulimit -Sn&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To see the hard and soft values for httpd or oracle user, issue the command as follows:&lt;/div&gt;&lt;div&gt;# su - username&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this example, su to oracle user, enter:&lt;/div&gt;&lt;div&gt;# su - oracle&lt;/div&gt;&lt;div&gt;$ ulimit -Hn&lt;/div&gt;&lt;div&gt;$ ulimit -Sn&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;System-wide File Descriptors (FD) Limits&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The number of concurrently open file descriptors throughout the system can be changed via /etc/sysctl.conf file under Linux operating systems.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;The Number Of Maximum Files Was Reached, How Do I Fix This Problem?&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Many application such as Oracle database or Apache web server needs this range quite higher. So you can increase the maximum number of open files by setting a new value in kernel variable /proc/sys/fs/file-max as follows (login as the root):&lt;/div&gt;&lt;div&gt;# sysctl -w fs.file-max=100000&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Above command forces the limit to 100000 files. You need to edit /etc/sysctl.conf file and put following line so that after reboot the setting will remain as it is:&lt;/div&gt;&lt;div&gt;# vi /etc/sysctl.conf&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Append a config directive as follows:&lt;/div&gt;&lt;div&gt;fs.file-max = 100000&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Save and close the file. Users need to log out and log back in again to changes take effect or just type the following command:&lt;/div&gt;&lt;div&gt;# sysctl -p&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Verify your settings with command:&lt;/div&gt;&lt;div&gt;# cat /proc/sys/fs/file-max&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OR&lt;/div&gt;&lt;div&gt;# sysctl fs.file-max&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;User Level FD Limits&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The above procedure sets system-wide file descriptors (FD) limits. However, you can limit httpd (or any other users) user to specific limits by editing /etc/security/limits.conf file, enter:&lt;/div&gt;&lt;div&gt;# vi /etc/security/limits.conf&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Set httpd user soft and hard limits as follows:&lt;/div&gt;&lt;div&gt;httpd soft nofile 4096&lt;/div&gt;&lt;div&gt;httpd hard nofile 10240&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Save and close the file. To see limits, enter:&lt;/div&gt;&lt;div&gt;# su - httpd&lt;/div&gt;&lt;div&gt;$ ulimit -Hn&lt;/div&gt;&lt;div&gt;$ ulimit -Sn&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reference:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/"&gt;http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2034881527410082264?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2034881527410082264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/linux-increase-maximum-number-of-open.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2034881527410082264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2034881527410082264'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/linux-increase-maximum-number-of-open.html' title='Linux Increase The Maximum Number Of Open Files / File Descriptors (FD)'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8596277821113850292</id><published>2010-07-23T11:02:00.000+07:00</published><updated>2010-07-23T11:03:59.025+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Found Solutions for Different Windows Problems</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;PROBLEM #1&lt;br /&gt;Unable to register jscript.dll, getting the following error: DllRegisterServer in jscript.dll failed.Return code was: 0x80004005.&lt;br /&gt;&lt;br /&gt;For the above error message, we need to follow troubleshooting steps depending upon the operating system. For windows vista, we need to register the dll file in command prompt with administrator rights for which we need to follow the below steps:&lt;br /&gt;1. Click Start. 2. Type in cmd. 3. Don't press enter. 4. On the top, right click cmd and click run as administrator. 5. Type in&lt;br /&gt;regsvr32 jscript.dll and press enter. Now it should say DllRegisterServer in jscript.dll succeeded.&lt;br /&gt;&lt;br /&gt;If the above error message is in windows xp pro,&lt;br /&gt;1. Click Start. 2. Click Run. 3. Type in&lt;br /&gt;secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose and press enter.&lt;br /&gt;&lt;br /&gt;If it is windows xp home, run microsoft fixit at &lt;a class="postlink" href="http://support.microsoft.com/kb/313222" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(52, 52, 52); text-decoration: none; "&gt;http://support.microsoft.com/kb/313222&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Please let us know whether the above steps helped or not. Even if you have any further suggestions or questions, please use Comment/Ask a question down at the bottom of the page.&lt;br /&gt;----------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PROBLEM #2&lt;br /&gt;Unable to install internet explorer 8, getting the following errors&lt;br /&gt;Setup exit code: 0x13371337 (Undefined Error Code) or Installer Process exit code: 0x00000017.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For the above error messages, run a microsoft fixit at &lt;a class="postlink" href="http://support.microsoft.com/default.aspx/kb/949220" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(52, 52, 52); text-decoration: none; "&gt;http://support.microsoft.com/default.aspx/kb/949220&lt;/a&gt; and try to reinstall internet explorer 8. If the fixit tool does not help, we need to install internet explorer 8 in safe mode with networking with administrator login by following the below steps:&lt;br /&gt;1. Restart the computer. 2. As soon as it restarts, tap F8 key on the keyboard. 3. Choose Safe mode with networking and press enter. 4. If it asks to choose your operating system, choose whatever operating system you are using such as windows xp. 5. If you are using windows xp, choose your user name Administrator. 6. If you are using windows vista, log in with your regular user account but make sure you are an administrator. 7. Now, try to reinstall internet explorer 8.&lt;br /&gt;&lt;br /&gt;Please let us know whether the above steps helped or not. Even if you have any further suggestions or questions, please use Comment/Ask a question down at the bottom of the page.&lt;br /&gt;----------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PROBLEM #3&lt;br /&gt;Unable to download java, giving "Intenret explorer cannot display the webpage" error, also when you try to update java from control panel, it says "Java update cannot proceed with the current internet connection settings of your system. Please check your Control Panel -&gt; Internet Options, and make sure the settings and proxy information are correct...". &lt;br /&gt;&lt;br /&gt;For the above error, first make sure no proxy server is configured by following the below steps: &lt;br /&gt;1. Click Start. 2. Click Cotrol Panel. 3. Click Internet Options. 4. Click Connections. 5. Click LAN settings. 6. Make sure Use a proxy server for LAN....is unchecked.&lt;br /&gt;&lt;br /&gt;If no proxy server is configured for you, the problem seems to be related to your ISP, so try using global dns servers by following the below steps:&lt;br /&gt;1. Click Start. 2. Click Control Panel. 3. Click Network Connections. 4. Right click Local area connection or Wireless connection whichever saying connected and being used by you. 5. Click Properties. 6. Highlight Internet Protocol TCP/IP or Internet Protocol TCP/IP Version 4. 7. Click Properties. 8. Select Use the following DNS server address. 9. Put 4.2.2.2 next to Preferred DNS server and 4.2.2.1 next to Alternate DNS server. 10. Click OK. 11. Again, click OK.&lt;br /&gt;&lt;br /&gt;Please let us know whether the above steps helped or not. Even if you have any further suggesions or questions, please use Comment/Ask a question down at the bottom of the page.&lt;br /&gt;----------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PROBLEM #4&lt;br /&gt;Unable to uninstall internet explorer 8, getting "cannot find the file" errors or other errors.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you are getting different errors while uninstalling internet explorer 8, use internet explorer 8 removal tool from the link below. Even if it says, internet explorer 8 beta removal tool, it works fine for all versions.&lt;br /&gt;&lt;br /&gt;&lt;a class="postlink" href="http://cid-2347850efe92080a.skydrive.live.com/self.aspx/.Public/IE8%20Beta%202%20Removal%20Tool%20V1.1.exe" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(52, 52, 52); text-decoration: none; "&gt;http://cid-2347850efe92080a.skydrive.li ... 20V1.1.exe&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please let us know whether the above steps helped or not. Even if you have any further suggesions or questions, please use Comment/Ask a question down at the bottom of the page.&lt;br /&gt;----------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PROBLEM #5&lt;br /&gt;An error after opening internet explorer 8: "A program on your computer has corrupted IE8 default search provider settings. IE8 will reset the search provider setting to default setting of xxx search. IE8 will open the search provider dialog where you can change your search provider".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For the above error follow the below steps:&lt;br /&gt;1. Click Start. 2. Click Run. 3. Type in regedit and press enter. 4. In the registry editor, expand and navigate to the following registry key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders. 5. Right click User Shell Folders. 6. Select New and then Expandable String value. 7. A new value is added in right pane. 8. Type in AppData and press enter. 9. Double click AppData. 10. Under value data type in&lt;br /&gt;&lt;br /&gt;%USERPROFILE%\Application Data. 11. Note: If there is already AppData in the right pane, double click and correct it to %USERPROFILE%\Application Data&lt;br /&gt;&lt;br /&gt;If the above steps do not work,&lt;br /&gt;1. Click Start. 2. Click Control Panel. 3. Click User Accounts. 4. Click Create a new user account. 5. Choose appropirate name for the new user account. 5. Choose Administrator or Limited or Standard user. It's upto you. 6. Click Create. 7. Click Start, Log out from the current user account and log back in with the new one. 8. If the new user account is working for you, obviously, the old user account has got corrupted and you will have to use the new user account. Also, FYI: you can transfer old user settings and files to the new user account.&lt;br /&gt;&lt;br /&gt;Please let us know whether the above steps helped or not. Even if you have any further suggesions or questions, please use Comment/Ask a question down at the bottom of the page.&lt;br /&gt;----------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PROBLEM #6&lt;br /&gt;Error 126: The specified module could not be found while trying to start remote access connection manager service.&lt;br /&gt;&lt;br /&gt;1. Click Start-Run-C:\windows\system32 and press Enter.&lt;br /&gt;2. Make sure rasman.dll, rasmans.dll, rasppp.dll, raschap.dll, and rastls.dll are present.&lt;br /&gt;3. If any file is missing, insert the operating system cd in and copy the file by clicking Start-Run-cmd(in vista and windows 7, right click cmd and click Run as administrator).&lt;br /&gt;4. Type in expand e:\i386\xxx.dl_ c:\windows\system32\xxx.dll and prese enter (wherein e: is the cd drive letter and xxx is the missing dll file).&lt;br /&gt;5. If all the files are intact, click Start-run-regedit and press enter.&lt;br /&gt;6. Go to HKLM/SYTEM/CurrentControlSet/Services/RasMan/PPP/EAP and delete entries other than 13,25, and 26. &lt;br /&gt;7. If your problem is related to an AT&amp;amp;T wireless card, most probably, you will find 21 and 43 which need to be deleted.&lt;br /&gt;8. Reboot the computer and the service should be started now.&lt;br /&gt;&lt;br /&gt;Please let us know whether the above steps helped or not. Even if you have any further suggestions or questions, please use Comment/Ask a question down at the bottom of the page.&lt;br /&gt;----------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PROBLEM #7&lt;br /&gt;Error 1747 authentication service is unknown while trying to start WLAN auto config (wireless) service.&lt;br /&gt;&lt;br /&gt;For the above error, simply reset winsock by&lt;br /&gt;1. Start-Run-cmd (if it is windows vista or 7, right click cmd and click run as administrator).&lt;br /&gt;2. Type netsh winsock reset, press enter, and restart the computer.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;Reference:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"    style="font-family:'Trebuchet MS', Helvetica, Arial, sans-serif;font-size:100%;color:#1C1C1C;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;"&gt;http://foundsolutionz.blogspot.com/index.html#uds-search-results&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-8596277821113850292?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8596277821113850292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/found-solutions-for-different-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8596277821113850292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8596277821113850292'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/found-solutions-for-different-windows.html' title='Found Solutions for Different Windows Problems'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6894653518047416646</id><published>2010-07-23T10:59:00.000+07:00</published><updated>2010-07-23T11:02:36.065+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>Why might I be receiving errors related to the cluster or filesystem names when I attempt to mount a GFS or GFS2 filesystem?</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Problem&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When creating a GFS or GFS2 filesystem from the command line with mkfs.gfs or mkfs.gfs2, the user must define the following two attributes for the locking table that will be written to the superblock:&lt;br /&gt;&lt;br /&gt;* Cluster name: This must exactly match the name in use by the cluster at the time of mounting, which can be checked in /etc/cluster/cluster.conf:&lt;br /&gt;&lt;br /&gt;&lt;cluster alias="myCluster" config_version="1" name="myCluster"&gt;&lt;br /&gt;&lt;br /&gt;* Filesystem name: This must be a unique name across all GFS/GFS2 filesystems available to the cluster, as two filesystems with the same name cannot be mounted simultaneously&lt;br /&gt;&lt;br /&gt;These attributes can be specified using the -t option. For example:&lt;br /&gt;&lt;br /&gt;# mkfs.gfs -p lock_dlm -t myCluster:datafs1 -j 3 /dev/clustervg/datalv1&lt;br /&gt;# mkfs.gfs2 -p lock_dlm -t myCluster:datafs1 -j 3 /dev/clustervg/datalv1&lt;br /&gt;&lt;br /&gt;Where myCluster is the name of the cluster and datafs1 is the name given to this filesystem. If either of these two values is defined incorrectly, it can cause mount attempts to fail with varying error messages depending on the version and specific failure.&lt;br /&gt;&lt;br /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Diagnosis&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Cluster Name Mismatch&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If the filesystem was created with a cluster name that does not match the one currently in use, attempting to mount it would produce an error such as this on Red Hat Enterprise Linux 4:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;# mount -t gfs /dev/clustervg/datalv1 /mnt/datafs1&lt;br /&gt;mount: permission denied&lt;br /&gt;# tail -n 4 /var/log/messages &lt;br /&gt;Jun 4 15:43:42 node1.pvt kernel: GFS: Trying to join cluster "lock_dlm", "myCluster:datafs1"&lt;br /&gt;Jun 4 15:43:42 node1.pvt kernel: lock_dlm: cman cluster name "myCluster" does not match file system cluster name "otherCluster"&lt;br /&gt;Jun 4 15:43:42 node1.pvt kernel: lock_dlm: init_cluster error -1&lt;br /&gt;Jun 4 15:43:42 node1.pvt kernel: GFS: can't mount proto = lock_dlm, table = otherCluster:datafs1, hostdata = &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;or for a GFS/GFS2 filesystem on Red Hat Enterprise Linux 5:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;# mount /dev/clustervg/datalv1 /mnt/datafs1&lt;br /&gt;/sbin/mount.gfs: fs is for a different cluster&lt;br /&gt;/sbin/mount.gfs: error mounting lockproto lock_dlm&lt;br /&gt;# tail -n 1 /var/log/messages&lt;br /&gt;Jun 4 15:58:21 node1.pvt gfs_controld[5832]: mount: fs requires cluster="otherCluster" current="myCluster"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Duplicate Filesystem Name&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If trying to mount a GFS filesystem that has a duplicate name compared to another that is already mounted, the error would look like this on Red Hat Enterprise Linux 4&lt;br /&gt;&lt;br /&gt;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;# mount -t gfs /dev/clustervg/datalv1 /mnt/datafs1&lt;br /&gt;mount: File exists&lt;br /&gt;# tail -n 4 /var/log/messages&lt;br /&gt;Jun 4 19:30:22 node1.pvt kernel: GFS: Trying to join cluster "lock_dlm", "myCluster:datafs1"&lt;br /&gt;Jun 4 19:30:22 node1.pvt kernel: dlm: datafs1: lockspace already in use&lt;br /&gt;Jun 4 19:30:22 node1.pvt kernel: lock_dlm: new lockspace error -17&lt;br /&gt;Jun 4 19:30:22 node1.pvt kernel: GFS: can't mount proto = lock_dlm, table = myCluster:datafs1, hostdata = &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Or on Red Hat Enterprise Linux 5 with GFS/GFS2:&lt;br /&gt;&lt;br /&gt;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;# mount /dev/clustervg/datafs1 /mnt/datafs1/&lt;br /&gt;/sbin/mount.gfs: different fs appears to exist with the same name&lt;br /&gt;/sbin/mount.gfs: error mounting lockproto lock_dlm&lt;br /&gt;# tail -n 1 /var/log/messages&lt;br /&gt;Jun 4 16:49:00 node1.pvt gfs_controld[5832]: different fs dev /dev/mapper/clustervg-otherlv with same name&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;Solution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The locking table can be changed using the gfs_tool or gfs2_tool for GFS and GFS2, respectively. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE: Before changing the locking table, ensure that the device in question should in fact be presented to this cluster and is unmounted on all nodes. If a GFS/GFS2 filesystem is being used by one cluster and the device it resides on is accidentally presented to another cluster, changing its locking table can have negative consequences for the cluster that was already using it. &lt;br /&gt;&lt;br /&gt;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;# gfs_tool sb /dev/clustervg/datalv1 table myCluster:datafs1&lt;br /&gt;You shouldn't change any of these values if the filesystem is mounted.&lt;br /&gt;&lt;br /&gt;Are you sure? [y/n] y&lt;br /&gt;&lt;br /&gt;current lock table name = "otherCluster:otherfs1"&lt;br /&gt;new lock table name = "myCluster:datafs1"&lt;br /&gt;&lt;br /&gt;Done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# gfs2_tool sb /dev/clustervg/datalv1 table myCluster:datafs1&lt;br /&gt;You shouldn't change any of these values if the filesystem is mounted.&lt;br /&gt;&lt;br /&gt;Are you sure? [y/n] y&lt;br /&gt;&lt;br /&gt;current lock table name = "otherCluster:otherfs1"&lt;br /&gt;new lock table name = "myCluster:datafs1"&lt;br /&gt;Done&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Further mount requests should no longer fail with the previously mentioned error messages.&lt;br /&gt;&lt;br /&gt;Reference: &lt;a class="postlink" href="http://kbase.redhat.com/faq/docs/DOC-3773" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(52, 52, 52); text-decoration: none; "&gt;http://kbase.redhat.com/faq/docs/DOC-3773&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/1971318307217572208-6894653518047416646?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6894653518047416646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/why-might-i-be-receiving-errors-related.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6894653518047416646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6894653518047416646'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/why-might-i-be-receiving-errors-related.html' title='Why might I be receiving errors related to the cluster or filesystem names when I attempt to mount a GFS or GFS2 filesystem?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-9207260462269007855</id><published>2010-07-19T22:32:00.000+07:00</published><updated>2010-07-19T22:34:29.446+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>การตั้งค่า firewall สำหรับ Passive FTP Connection (ตอนที่ 2)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;จากบทความในตอนที่ 1 หลายๆ คนคงจะพอเข้าใจกันแล้วว่าการเชื่อมต่อ FTP แบบ Passive Mode ทำงานอย่างไร และมีความจำเป็นสำหรับ client ที่ใช้งานอินเตอร์เน็ตผ่าน NAT, Firewall หรือ Router อย่างไร แต่สิ่งสำคัญที่จะลืมไปไม่ได้ คือ การเชื่อมต่อแบบนี้เซิร์ฟเวอร์จะต้องสุ่มหมายเลขพอร์ตที่อยู่ในช่วง 1024-65535 สำหรับใช้เป็นพอร์ตรับส่งข้อมูล และส่งหมายเลขพอร์ตดังกล่าวกลับไปยังไคลเอ็นต์ ประเด็นก็คือถ้าเราใช้ Windows Firewall หรือ Firewall ใดๆ ก็ตาม ในการป้องกันการโจมตีจากผู้บุกรุก เราจะต้องกำหนด policy อย่างไร เราจะต้อง allow พอร์ต 1024-65535 เพื่อให้ Passive FTP สามารถทำงานได้อย่างไม่มีปัญหาอย่างนั้นหรือ คำตอบนี้ถูกเพียงครึ่งเดียวครับ เพราะการทำแบบนั้น หมายความว่า คุณจะต้องลดระดับความปลอดภัยของเครื่องเซิร์ฟเวอร์ของคุณ เพียงเพื่อให้สามารถเชื่อมต่อ FTP แบบ Passive Mode ได้&lt;br /&gt;วิธีการที่ดีกว่านั้น ก็คือ คุณสามารถกำหนดช่วงพอร์ต หรือ port range ที่จะใช้สำหรับการเชื่อมต่อ FTP แบบ passive mode &lt;br /&gt;ซึ่งจะทำให้คุณสามารถควบคุมกฎเกณฑ์และนโยบายของไฟร์วอลล์ได้ง่ายขึ้น และปลอดภัยมากขึ้น&lt;br /&gt;&lt;br /&gt;สำหรับ IIS6 + Microsoft FTP Service บน Windows 2003 Server&lt;br /&gt;&lt;br /&gt;• ก่อนอื่น ต้อง Enable Direct Metabase Edit ใน Internet Information Service Manager&lt;br /&gt;1. เปิด Internet Information Service Manager.&lt;br /&gt;2. คลิกขวาบน โนดที่เป็นชื่อของเครื่องโลคอล&lt;br /&gt;3. เลือก Properties.&lt;br /&gt;4. ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในกล่องหน้าข้อความ Enable Direct Metabase Edit checkbox เรียบร้อยแล้ว&lt;br /&gt;&lt;br /&gt;• คอนฟิก PassivePortRange โดยใช้ ADSUTIL script&lt;br /&gt;1. เปิด Command Prompt&lt;br /&gt;2. พิมพ์คำสั่ง cd C:\Inetpub\AdminScripts แล้วกดปุ่ม ENTER.&lt;br /&gt;3. พิมพ์คำสั่ง cscript.exe adsutil.vbs set /MSFTPSVC/PassivePortRange "5001-5201" &lt;br /&gt;4. Restart เซอร์วิสที่ชื่อว่า FTP Publishing Service.&lt;br /&gt;&lt;br /&gt;• การ allow พอร์ตที่อยู่ในช่วงของ PassivePortRange ใน Windows Firewall&lt;br /&gt;1. เปิด Command Prompt&lt;br /&gt;2. สมมติว่าค่า PassivePortRange คือ 5001-5201 ให้พิมพ์คำสั่งต่อไปนี้&lt;br /&gt;FOR /L %I IN (5001,1,5201) DO netsh firewall add portopening TCP %I "Passive FTP"%I &lt;br /&gt;&lt;br /&gt;3. เสร็จสิ้นกระบวนการ ลองทดสอบการใช้งาน&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-9207260462269007855?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/9207260462269007855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/firewall-passive-ftp-connection-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9207260462269007855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/9207260462269007855'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/firewall-passive-ftp-connection-2.html' title='การตั้งค่า firewall สำหรับ Passive FTP Connection (ตอนที่ 2)'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-7524590301107826893</id><published>2010-07-19T22:26:00.001+07:00</published><updated>2010-07-19T22:32:18.598+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>การตั้งค่า firewall สำหรับ Passive FTP Connection (ตอนที่ 1)</title><content type='html'>&lt;span class="Apple-style-span" style=" color: rgb(28, 28, 28);  line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;FTP เป็นเซอร์วิสที่ทำงานบนโปรโตคอล TCP/IP ในการติดต่อและรับส่งข้อมูลกับ client โดยใช้พอร์ต 2 พอร์ต คือ พอร์ตรับคำสั่ง และพอร์ตข้อมูล โหมดของ FTP สามารถแบ่งออกเป็น 2 โหมด คือ Active Mode และ Passive Mode ซึ่งจะมีการทำงานที่แตกต่างกัน&lt;br /&gt;&lt;img src="http://slacksite.com/images/ftp/activeftp.gif" alt="รูปภาพ" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " /&gt;&lt;br /&gt;ใน active mode ของ FTP ไคลเอ็นต์จะเชื่อมต่อจากพอร์ตแบบสุ่มที่มีค่าพอร์ตมากกว่า 1023 มาที่พอร์ต 21 ของเซิร์ฟเวอร์ ซึ่งเป็นพอร์ตรับคำสั่ง (พอร์ต N&gt;1023 จากรูปจะสมมติให้ N=1026) แล้วส่งคำสั่งซึ่งจะบอกให้เซิร์ฟเวอร์ทราบหมายเลขพอร์ตที่จะใช้ในการรับส่งข้อมูลกับเครื่องไคลเอ็นต์ (พอร์ต N+1) จากนั้นเซิร์ฟเวอร์จะตอบสนองคำสั่งโดยจะส่ง acknowledge จากพอร์ต 21 กลับไปยังพอร์ต N ของเครื่องไคลเอ็นต์ แล้วจึงทำการเชื่อมต่อจากพอร์ต 20 ซึ่งเป็นพอร์ตข้อมูลของเซิร์ฟเวอร์ไปยังพอร์จ N+1 ของเครื่องไคลเอ็นต์ ในขั้นตอนท้ายสุด ไคลเอ็นต์จะตอบสนองการเชื่อมต่อจากเซิร์ฟเวอร์โดยจะส่ง acknowledge กลับไปยังพอร์ต 20 ของเครื่องเซิร์ฟเวอร์ คำสั่งจากเครื่องไคลเอ็นต์จะส่งไปที่พอร์ต 21 ของเครื่องเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะรับส่งข้อมูลกับเครื่องไคลเอ็นต์ผ่านทางพอร์ต 20&lt;br /&gt;&lt;br /&gt;ปัญหาหลักของการทำงานในโหมดนี้ ก็คือ เครื่องไคลเอ็นต์ที่ติดตั้งไฟร์วอลล์ไว้ อาจจะไม่สามารถใช้งานได้ เนื่องจากเซิร์ฟเวอร์จะส่งข้อมูลจากพอร์ต 20 กลับไปที่พอร์ต N+1 ซึ่งพอร์ตดังกล่าวเป็นแบบสุ่ม ซึ่งโดยทั่วไปมักจะบล็อคไว้&lt;br /&gt;วิธีแก้ไข คือจะต้อง allow packet ทั้งหมดที่มาจากพอร์ต 20 ของเครื่องภายนอก แต่วิธีนี้ก็อาจทำให้เกิดผลกระทบต่อความปลอดภัยภายในองค์กรอีกเช่นเดียวกัน&lt;br /&gt;&lt;br /&gt;เพื่อแก้ปัญหาดังกล่าว จึงมีการพัฒนารูปแบบการเชื่อมต่อของ FTP ขึ้นมาอีกแบบหนึ่งซึ่งเรียกว่า Passive Mode&lt;br /&gt;&lt;br /&gt;หลักการทำงานในโหมดนี้ ก็คือ&lt;br /&gt;&lt;img src="http://slacksite.com/images/ftp/passiveftp.gif" alt="รูปภาพ" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " /&gt;&lt;br /&gt;การทำงานในโหมดนี้จะเริ่มจากไคลเอ็นต์เชื่อมต่อจากพอร์ตแบบสุ่ม N&gt;1023 ไปที่พอร์ต 21 ของเครื่องเซิร์ฟเวอร์ และส่งคำสั่ง PASV ไปที่เซิร์ฟเวอร์&lt;br /&gt;เมื่อเซิร์ฟเวอร์ได้รับคำสั่งจะสุ่มพอร์ตสำหรับใช้เป็นพอร์ตข้อมูล สมมติให้เป็นพอร์ต P&gt;1023 จากรูป พอร์ต P=2024 จากนั้นเซิร์ฟเวอร์จะส่งหมายเลขพอร์ต P ดังกล่าวกลับไปที่พอร์ต N ของเครื่องไคลเอ็นต์&lt;br /&gt;เมื่อเครื่องไคลเอ็นต์รับทราบ ไคลเอ็นต์จะเชื่อมต่อจากพอร์ต N+1 ไปที่พอร์ต P ของเครื่องเซิร์ฟเวอร์ จากนั้นเซิร์ฟเวอร์จะส่ง Acknowledge กลับไปยังพอร์ต N+1 ของเครื่องไคลเอ็นต์ คำสั่งจากเครื่องไคลเอ็นต์จะส่งไปที่พอร์ต 21 ของเครื่องเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะรับส่งข้อมูลกับไคลเอ็นต์ผ่่านทางพอร์ต P ที่เซิร์ฟเวอร์สุ่มขึ้นมา&lt;br /&gt;&lt;br /&gt;ถึงตรงนี้ ก็คงจะเห็นภาพกันแล้วว่าใน Passive Mode การเชื่อมต่อจะเริ่มจาก client ก่อนเสมอ จึงขจัดปัญหาเรื่องไฟร์วอลล์ในส่วนของไคลเอ็นต์ไป แต่คำถามต่อมาก็คือ แล้วเซิร์ฟเวอร์ล่ะ จะควบคุมนโยบายและกฎเกณฑ์ต่างๆ ของไฟร์วอลล์ได้อย่างไร ในเมื่อพอร์ตที่ใช้เป็นพอร์ตข้อมูลเป็นพอร์ตแบบสุ่มซึ่งมากกว่า 1023 แต่เป็นพอร์ตอะไรก็ได้ จะต้อง allow ทุกพอร์ตที่มีค่ามากกว่า 1023 เลยอย่างนั้นหรือ&lt;br /&gt;คำตอบ คือ ไม่จำเป็นครับ เพราะ FTP Server แต่ละค่าย ก็จะมีวิธีในการกำหนด port range ที่จะใช้ในการสุ่มเป็นพอร์ตข้อมูลในการทำงานแบบ Passive Mode อยู่แล้ว แต่วิธีการก็จะแตกต่างกันไป ตามแต่ละค่าย ทีนี้เราก็แค่ allow เฉพาะพอร์ตที่อยู่ใน port range ที่เรากำหนดไว้เท่านั้น&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;span class="Apple-style-span"   style="font-family:arial;color:#1C1C1C;"&gt;&lt;span class="Apple-style-span" style="line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" color: rgb(28, 28, 28);  line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; font-size: 13px; "&gt;ตอนต่อไปจะกล่าวถึงวิธีการตั้งค่าไฟร์วอลล์สำหรับการทำงานในโหมด Passive FTP สำหรับ Microsoft FTP Service&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&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/1971318307217572208-7524590301107826893?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/7524590301107826893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/firewall-passive-ftp-connection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7524590301107826893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7524590301107826893'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/firewall-passive-ftp-connection.html' title='การตั้งค่า firewall สำหรับ Passive FTP Connection (ตอนที่ 1)'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2038167501293427731</id><published>2010-07-19T22:24:00.000+07:00</published><updated>2010-07-19T22:25:53.746+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>การป้องกันปัญหาการ์ดแลนเสียโดยใช้เทคนิค Ethernet Bonding</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;คุณคงเคยเจอปัญหาการ์ดแลนของเซิร์ฟเวอร์พัง ทำให้บริการต่างๆ ของเครื่องเซิร์ฟเวอร์หยุดชะงัก การแก้ไขก็คือ คุณจะต้องรอให้ช่างเข้าไปเปลี่ยนฮาร์ดแวร์ หรือไม่ก็ต้องแก้คอนฟิกต่างๆ ของเครื่องเซิร์ฟเวอร์ เพื่อทำให้เซิร์ฟเวอร์ทำงานต่อไปได้ แต่นั่นก็หมายความว่าเซิร์ฟเวอร์ของคุณมีเวลาดาวน์เกิดขึ้นหลายชั่วโมงอย่างไม่ต้องสงสัย คุณจะมีวิธีป้องกันได้อย่างไร&lt;br /&gt;&lt;br /&gt;คำตอบสำหรับเซิร์ฟเวอร์ที่เป็นลินุกซ์ ก็คือ คุณสามารถใช้เทคนิค Ethernet Bonding เข้ามาแก้ปัญหานี้ได้ หลักการก็คือ โดยปกติเซิร์ฟเวอร์มาตรฐานจะมีพอร์ตแลนมาให้อยู่แล้ว 2 พอร์ต แค่คุณทำให้ทั้งสองพอร์ตเข้ามาทำงานร่วมกันเสมือนว่าเป็นการ์ดแลนใบเดียวกัน ดังนั้นในเวลาที่สถานะการทำงานของเซิร์ฟเวอร์ปกติ แพ็คเกจต่างๆ ที่เข้ามาเซิร์ฟเวอร์ จะกระจายเข้าทั้งสองพอร์ตแลนอย่างสมดุล ช่วยลดปัญหาคอขวดของ TCP Buffer และทราฟฟิค แต่ถ้ามีพอร์ตใดพอร์ตหนึ่งเสีย เซิร์ฟเวอร์ก็ยังสามารถทำงานต่อไปได้ โดยไม่ต้องดาวน์ระบบ นั่นหมายถึง คุณไม่ต้องเสียงาน เสียลูกค้า เสียเครดิต&lt;br /&gt;&lt;br /&gt;ทีนี้มาดูวิธีการติดตั้งกันดีกว่า&lt;br /&gt;&lt;br /&gt;ในบทความนี้ขอแนะนำการคอนฟิก Ethernet Bonding เพื่อแก้ปัญหาที่อาจเกิดขึ้น โดยจะมีการจัดกลุ่มพอร์ตแลนเข้าด้วยกัน เพื่อช่วยในการรับส่งข้อมูล รูปแบบการส่งจะมีสองแบบใหญ่ๆ คือ&lt;br /&gt;&lt;br /&gt;* Active-backup พอร์ตหนึ่งจะทำหน้าพอร์ตหลักเพื่อใช้รับส่งข้อมูล (Active) แต่อีกพอร์ตหนึ่งจะสำรอง (Backup) ไว้เฉยๆ ไม่มีการรับส่งข้อมูลใดๆ ผ่านทางพอร์ตสำรอง แต่เมื่อไรที่พอร์ตหลักมีปัญหาพอร์ตนี้จะรับส่งข้อมูลแทน สำหรับ Ethernet Bonding จะเป็นคอนฟิกใน mode 1&lt;br /&gt;* Load Balance พอร์ตทั้งหมดในกลุ่มจะช่วยกันรับส่งข้อมูล ส่วนเทคนิคในการรับส่งจะมีหลายแบบด้วยกันแล้วแต่ mode ที่คอนฟิก&lt;br /&gt;&lt;br /&gt;ในตัวอย่างจะเป็นการคอนฟิกบน Fedora 9 ซึ่งน่าจะประยุกต์ใช้กับ Fedora เวอร์ชั่นอื่นๆ, CentOS, RedHat หรือลีนุกซ์ตัวอื่นๆ ได้&lt;br /&gt;เตรียมพอร์ตแลนที่จะคอนฟิกเป็น Ethernet Bonding&lt;br /&gt;&lt;br /&gt;ในตัวอย่างจะใช้พอร์ตแลน eth2 และ eth3 เพื่อคอนฟิกรวมเป็น bond0&lt;br /&gt;&lt;br /&gt;เริ่มต้นสร้างไฟล์ /etc/sysconfig/network-scripts/ifcfg-bond0 ซึ่งจะเป็นไฟล์คอนฟิกของ bond0 เป็นพอร์ต bonding (ในเครื่องหนึ่งสามารถจัดกลุ่มทำได้หลาย bonding พอร์ตที่คอนฟิกก็จะเป็น bond1, bond2 เป็นต้น) ในไฟล์จะมีคอนฟิก IP Address, Netmask เหมือนที่คอนฟิกพอร์ต ethernet ทั่วไป&lt;br /&gt;&lt;br /&gt;ตัวอย่างคอนฟิก ifcfg-bond0&lt;br /&gt;&lt;br /&gt;[root@fc9-x1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0&lt;br /&gt;DEVICE=bond0&lt;br /&gt;IPADDR=10.1.0.1&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;BROADCAST=10.1.0.255&lt;br /&gt;ONBOOT=yes&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;USERCTL=no&lt;br /&gt;&lt;br /&gt;คอนฟิกพอร์ต (Physical) ให้อยู่ในกลุ่ม bond0 ตามตัวอย่าง&lt;br /&gt;&lt;br /&gt;[root@fc9-x1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2&lt;br /&gt;DEVICE=eth2&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;ONBOOT=yes&lt;br /&gt;MASTER=bond0&lt;br /&gt;SLAVE=yes&lt;br /&gt;USECTL=no&lt;br /&gt;&lt;br /&gt;[root@fc9-x1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth3&lt;br /&gt;DEVICE=eth3&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;ONBOOT=yes&lt;br /&gt;MASTER=bond0&lt;br /&gt;SLAVE=yes&lt;br /&gt;USECTL=no&lt;br /&gt;&lt;br /&gt;แก้ไขไฟล์ /etc/modprobe.conf เพื่อให้โหลด kernel module สำหรับการทำ bonding ตอนที่มีการโหลดคอนฟิก bond0&lt;br /&gt;&lt;br /&gt;[root@fc9-x1 ~]# cat /etc/modprobe.conf&lt;br /&gt;alias bond0 bonding&lt;br /&gt;options bonding miimon=100 mode=1&lt;br /&gt;&lt;br /&gt;สามารถระบุว่าจะทำ bonding เพื่อรับส่งข้อมูลแบบไหนได้จากคอนฟิก mode ดังนี้&lt;br /&gt;&lt;br /&gt;* mode=0 (balance-rr) เป็นการส่งข้อมูลแบบ round-robin (load balancing, fault tolerance)&lt;br /&gt;* mode=1 (active-backup) สถานการณ์ปกติจะมีพอร์ตเดียวเท่านั้นที่ใช้รับส่งข้อมูล (fault tolerance)&lt;br /&gt;* mode=2 (balance-xor) เป็นการส่งข้อมูลแบบใช้ XOR เพื่อหาพอร์ตที่จะส่ง เช่นคำนวณจาก MAC Address ต้นทางปลายทางเป็นต้น (load balancing, fault tolerance)&lt;br /&gt;* mode=3 (broadcast)&lt;br /&gt;* mode=4 (802.3ad) เป็นส่งข้อมูลแบบ Link Aggregation Control Protocol (LACP) / 802.3ad&lt;br /&gt;* mode=5 (balance-tlb) ส่งข้อมูลแบบ Adaptive transmit load balancing&lt;br /&gt;* mode=6 (balance-alb) ส่งข้อมูลแบบ Adaptive load balancing&lt;br /&gt;&lt;br /&gt;หมายเหตุ รายละเอียดเพิ่มเติมดูได้จากไฟล์ /usr/share/doc/kernel-doc-2.6.25/Documentation/networking/bonding.txt จาก kernel-doc-2.6.25-14.fc9.noarch.rpm&lt;br /&gt;&lt;br /&gt;ในเริ่มต้นแนะนำให้ทดสอบกับ mode=1 เพื่อทดลอง active-backup ก่อน&lt;br /&gt;&lt;br /&gt;หลังจากสร้างไฟล์คอนฟิกทั้งหมดแล้ว รีบูตเครื่องหนึ่งครั้ง เผื่อให้ bond0 ถูกโหลดขึ้นมา&lt;br /&gt;ตรวจสอบสถานะของ Ethernet Bonding&lt;br /&gt;&lt;br /&gt;เมื่อเครื่องบูตเสร็จเรียบร้อย ถ้าถูกต้องเมื่อรันคำสั่ง ifconfig จะมีพอร์ต bond0 เพิ่มขึ้นมาตามตัวอย่าง&lt;br /&gt;&lt;br /&gt;[root@server ~]# ifconfig&lt;br /&gt;bond0 Link encap:Ethernet HWaddr 00:0C:22:FF:11:55&lt;br /&gt;inet addr:10.1.0.1 Bcast:10.1.0.255 Mask:255.255.255.0&lt;br /&gt;UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1&lt;br /&gt;RX packets:13 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;TX packets:19 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;collisions:0 txqueuelen:0&lt;br /&gt;RX bytes:1160 (1.1 KiB) TX bytes:1574 (1.5 KiB)&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;eth2 Link encap:Ethernet HWaddr 00:0C:22:FF:11:55&lt;br /&gt;UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1&lt;br /&gt;RX packets:12 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;TX packets:19 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;collisions:0 txqueuelen:1000&lt;br /&gt;RX bytes:1100 (1.0 KiB) TX bytes:1574 (1.5 KiB)&lt;br /&gt;Interrupt:16 Base address:0x1824&lt;br /&gt;&lt;br /&gt;eth3 Link encap:Ethernet HWaddr 00:0C:22:FF:11:55&lt;br /&gt;UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1&lt;br /&gt;RX packets:1 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;collisions:0 txqueuelen:1000&lt;br /&gt;RX bytes:60 (60.0 b) TX bytes:0 (0.0 b)&lt;br /&gt;Interrupt:17 Base address:0x18a4&lt;br /&gt;&lt;br /&gt;ข้อสังเกตจากคำสั่ง ifconfig&lt;br /&gt;&lt;br /&gt;* HWaddr หรือ MAC Address ของแต่ละพอร์ตที่ทำ bonding ด้วยกันจะเป็นค่าเดียวกันหมด ทั้งนี้เพื่อประโยชน์ในการทำ fail over&lt;br /&gt;* ในโหมด active-backup ปกติจะมีพอร์ตเดียวทำหน้าที่เป็นหลักใช้ในการรับส่งข้อมูล ซึ่งดูได้จากค่า RX, TX packets&lt;br /&gt;&lt;br /&gt;หากต้องการรู้ว่าพอร์ตไหนถูกใช้เป็นหลัก (active) ในการส่งข้อมูล สามารถดูได้จากไฟล์ /proc/net/bonding/bond0&lt;br /&gt;&lt;br /&gt;ตัวอย่างไฟล์ /proc/net/bonding/bond0&lt;br /&gt;&lt;br /&gt;[root@fc9-x1 ~]# cat /proc/net/bonding/bond0&lt;br /&gt;Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)&lt;br /&gt;&lt;br /&gt;Bonding Mode: fault-tolerance (active-backup)&lt;br /&gt;Primary Slave: None&lt;br /&gt;Currently Active Slave: eth2&lt;br /&gt;MII Status: up&lt;br /&gt;MII Polling Interval (ms): 100&lt;br /&gt;Up Delay (ms): 0&lt;br /&gt;Down Delay (ms): 0&lt;br /&gt;&lt;br /&gt;Slave Interface: eth2&lt;br /&gt;MII Status: up&lt;br /&gt;Link Failure Count: 0&lt;br /&gt;Permanent HW addr: 00:0c:22:ff:11:55&lt;br /&gt;&lt;br /&gt;Slave Interface: eth3&lt;br /&gt;MII Status: up&lt;br /&gt;Link Failure Count: 0&lt;br /&gt;Permanent HW addr: 00:0c:22:ff:11:56&lt;br /&gt;&lt;br /&gt;จากตัวอย่างพอร์ตหลักที่ถูกใช้ในโหมด (active-backup) คือพอร์ต eth2 ดูได้จาก Currently Active Slave: eth2&lt;br /&gt;ทดสอบการ fail over&lt;br /&gt;&lt;br /&gt;แนะนำว่าก่อนที่จะดึงสายแลนให้รันคำสั่ง ping ทิ้งไว้ เพื่อดูว่าเวลาที่มีการ fail over จะยังส่งข้อมูลต่อไปได้เลยไหม&lt;br /&gt;&lt;br /&gt;ทดลองดึงสายออกจากพอร์ต eth2 แล้วตรวจสอบไฟล์ /proc/net/bonding/bond0 อีกครั้ง จะเห็นว่าพอร์ต eth3 จะถูกนำมาใช้เป็นหลักในการรับส่งข้อมูลแทน แล้วคำสั่ง ping ก็ยังคงทำงานอยู่ อาจมีสะดุดไปบ้างเล็กน้อย&lt;br /&gt;&lt;br /&gt;[root@fc9-x1 ~]# cat /proc/net/bonding/bond0&lt;br /&gt;Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)&lt;br /&gt;&lt;br /&gt;Bonding Mode: fault-tolerance (active-backup)&lt;br /&gt;Primary Slave: None&lt;br /&gt;Currently Active Slave: eth3&lt;br /&gt;MII Status: up&lt;br /&gt;MII Polling Interval (ms): 100&lt;br /&gt;Up Delay (ms): 0&lt;br /&gt;Down Delay (ms): 0&lt;br /&gt;&lt;br /&gt;Slave Interface: eth2&lt;br /&gt;MII Status: down&lt;br /&gt;Link Failure Count: 1&lt;br /&gt;Permanent HW addr: 00:0c:22:ff:11:55&lt;br /&gt;&lt;br /&gt;Slave Interface: eth3&lt;br /&gt;MII Status: up&lt;br /&gt;Link Failure Count: 0&lt;br /&gt;Permanent HW addr: 00:0c:22:ff:11:56&lt;br /&gt;&lt;br /&gt;จากผลลัพธ์จะแสดงสถานะของ bonding ต่างๆ ดังนี้&lt;br /&gt;&lt;br /&gt;* Currently Active Slave: eth3 พอร์ตหลักที่ใช้รับส่งข้อมูลตอนนี้&lt;br /&gt;* Slave Interface: eth2, MII Status: down สถานะของพอร์ต eth2 down&lt;br /&gt;* Link Failur Count: 1 แสดงตัวเลขจำนวนครั้งที่พอร์ตมีปัญหา&lt;br /&gt;&lt;br /&gt;สุดท้ายทดสอบด้วยการเสียบสายกลับเข้าไปที่พอร์ตที่ 2 จะเห็นว่าไม่มีการ fail over กลับมาที่พอร์ต eth2 พอร์ต eth3 จะยังคงเป็นหลักในการรับส่งข้อมูลอยู่&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2038167501293427731?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2038167501293427731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/ethernet-bonding.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2038167501293427731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2038167501293427731'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/ethernet-bonding.html' title='การป้องกันปัญหาการ์ดแลนเสียโดยใช้เทคนิค Ethernet Bonding'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5225619042180829576</id><published>2010-07-19T22:21:00.001+07:00</published><updated>2010-07-19T22:23:42.188+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Network'/><title type='text'>ทำไมลูกค้า Maxnet ส่งเมล์ผ่าน Outlook ไม่ได้</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;สาเหตุก็ง่ายๆ เลยครับ เนื่องจากการส่งอีเมล์ผ่านโปรแกรม mail client เช่น Outlook Express หรือ Microsoft Outlook โดยทั่วไปถ้าไม่มีการตั้งค่าใดๆ เพิ่มเติม จะใช้พอร์ต 25 สำหรับการส่งเมล์ แต่ Maxnet จะบล็อคพอร์ต 25 ทำให้เราไม่สามารถติดต่อกับ smtp server ผ่านพอร์ตมาตรฐานที่ทั่วโลกใช้กันได้ &lt;br /&gt;&lt;br /&gt;สำหรับวิธีแก้ไขก็มีอยู่ 2 แบบ คือ&lt;br /&gt;&lt;br /&gt;1. ใช้ smtp server (Outgoing Mail Server) ที่ทาง maxnet จัดเตรียมไว้ให้ คือ smtp.tttmaxnet.com (อันนี้เป็นคำตอบของทีมเทคนิคของ maxnet ซึ่งผมลองมาแล้วก็ไม่เวิร์คเหมือนกันครับ)&lt;br /&gt;2. ถ้าคุณเป็นแอดมิน หรือสามารถติดต่อกับแอดมินของระบบเมล์ของบริษัทของคุณได้ ให้ทำการเพิ่ม listen port อื่นๆ ที่ไม่ใช่พอร์ต 25 สำหรับการเมล์ขาเข้า ขอย้ำ !!! เพิ่มนะครับ ไม่ใช่เปลี่ยน เพราะยังจำเป็นจะต้องใช้พอร์ต 25 ในการรับเมล์จากเซิร์ฟเวอร์ทั่วไป ที่สำคัญ ให้ระวัง พอร์ตที่เพิ่มเข้าไปจะต้องไม่ซ้ำกับพอร์ตมาตรฐานของ service อื่นที่ใช้งานอยู่ ในกรณีนี้ ผมทดสอบแล้ว เวิร์คแน่นอนครับ แต่ในการใช้งาน จะต้องตั้งค่าใน mail client โดยกำหนด SMTP Port เป็นพอร์ตที่เราเพิ่มเข้าไปแทนพอร์ต 25 ครับ&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif; color: rgb(28, 28, 28); font-size: 13px; line-height: 22px; -webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px; "&gt;วิธีการเลี่ยงพอร์ตแบบนี้ นอกจากจะใช้กับ SMTP แล้ว อาจนำไปประยุกต์ใช้กับระบบหรือโปรแกรมอื่นๆ ที่โดนบล็อคพอร์ตได้อีกด้วยนะครับ&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5225619042180829576?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5225619042180829576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/maxnet-outlook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5225619042180829576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5225619042180829576'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/maxnet-outlook.html' title='ทำไมลูกค้า Maxnet ส่งเมล์ผ่าน Outlook ไม่ได้'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8775680264529070848</id><published>2010-07-16T18:12:00.004+07:00</published><updated>2010-07-18T12:10:14.398+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><title type='text'>How do I get rid of old 10.x patches or superseded patches?</title><content type='html'>&lt;pre&gt;DO NOT USE SWREMOVE!  swremove will check the scripts for&lt;br /&gt;the patch you ask it to remove, and happily remove whatever&lt;br /&gt;file you tell it to, and replace it with an earlier version&lt;br /&gt;of the patch from /var/adm/sw/patch/ (if one exists).&lt;br /&gt;&lt;br /&gt;NOTE:  If you have already removed previous OS version&lt;br /&gt;patches with swremove, you will either&lt;br /&gt;1) need to restore from backup, or 2) reload the OS.&lt;br /&gt;&lt;br /&gt;First download and install one of the following patches,&lt;br /&gt;which contain the HP-UX patch tools:&lt;br /&gt;&lt;br /&gt;o 10.x:  PHCO_20824  ('cleanup' only)&lt;br /&gt;o 11.00: PHCO_27779  ('cleanup', 'check_patches', &amp;amp;&lt;br /&gt;                   'show_patches')&lt;br /&gt;o 11.11: PHCO_27780  ('cleanup', 'check_patches', &amp;amp;&lt;br /&gt;                   'show_patches')&lt;br /&gt;&lt;br /&gt;The patch tools come with 11.00, but you should still install&lt;br /&gt;patch PHCO_24347 to fix several bugs that exist in it.&lt;br /&gt;&lt;br /&gt;The 'cleanup' tool is used to commit patches while preserving&lt;br /&gt;a set level of rollback, remove HP-UX 10.x patch information&lt;br /&gt;from the IPD, and prune superseded patches from a depot.&lt;br /&gt;The 'check_patches' utility checks for partially installed&lt;br /&gt;(split) patches, incorrect patch_state, patch attribute&lt;br /&gt;corruption, and objects within an archive library.  The&lt;br /&gt;'show_patches' tool can display the set of active or&lt;br /&gt;superseded patches on a system.&lt;br /&gt;&lt;br /&gt;To remove old 10.x patches from /var/adm/sw/patch/, use the&lt;br /&gt;command:&lt;br /&gt;&lt;br /&gt;# cleanup -i&lt;br /&gt;&lt;br /&gt;Committing a patch causes rollback files associated with&lt;br /&gt;that patch to be deleted from /var/adm/sw/save/.&lt;br /&gt;&lt;br /&gt;To commit all patches that have been superseded at least&lt;br /&gt;twice, use the command:&lt;br /&gt;&lt;br /&gt;# cleanup -c 2&lt;br /&gt;&lt;br /&gt;On 11.x, to commit a patch that has not been superseded,&lt;br /&gt;use the command:&lt;br /&gt;&lt;br /&gt;# swmodify -x patch_commit=true &lt;patch-name(s)&gt;&lt;br /&gt;&lt;br /&gt;In case you were wondering, 'cleanup -c 0' does not work.&lt;br /&gt;&lt;br /&gt;WARNING: Once the above swmodify command has been executed,&lt;br /&gt;        you CANNOT roll back (remove) the patch unless you&lt;br /&gt;        remove the associated base software that the patch&lt;br /&gt;        modified.  For this reason, I do not recommend&lt;br /&gt;        doing it unless you desperately need to free up&lt;br /&gt;        space under /var, and you have exhausted all&lt;br /&gt;        other means of doing so.&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;http://www.faqs.org/faqs/hp/hpux-faq/section-158.html&lt;br /&gt;&lt;/patch-name(s)&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-8775680264529070848?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8775680264529070848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/how-do-i-get-rid-of-old-10x-patches-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8775680264529070848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8775680264529070848'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/how-do-i-get-rid-of-old-10x-patches-or.html' title='How do I get rid of old 10.x patches or superseded patches?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-7803285328031301900</id><published>2010-07-16T17:40:00.002+07:00</published><updated>2010-07-18T12:11:31.087+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><title type='text'>How do I configure swlist to not display superseded patches?</title><content type='html'>&lt;pre&gt;A new option to swlist, "show_superseded_patches", was&lt;br /&gt;introduced in HP-UX 11.00 via the SD-UX cumulative patch&lt;br /&gt;PHCO_20078.  In 11.00, by default, swlist displays all&lt;br /&gt;installed patches, including superseded ones.  In 11.10+,&lt;br /&gt;by default, swlist does not display superseded patches.&lt;br /&gt;&lt;br /&gt;Assuming you have PHCO_20078, or any more recent SD-UX&lt;br /&gt;cumulative patch installed, you may change the default&lt;br /&gt;behavior of swlist in 11.00. To do so, add the following&lt;br /&gt;line to the file /var/adm/sw/defaults:&lt;br /&gt;&lt;br /&gt;swlist.show_superseded_patches = false&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;http://www.faqs.org/faqs/hp/hpux-faq/section-160.html&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-7803285328031301900?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/7803285328031301900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/how-do-i-configure-swlist-to-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7803285328031301900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7803285328031301900'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/how-do-i-configure-swlist-to-not.html' title='How do I configure swlist to not display superseded patches?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6041736951150534564</id><published>2010-07-16T17:38:00.002+07:00</published><updated>2010-07-18T12:19:00.528+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='HP-UX'/><title type='text'>How can I install multiple HP-UX patches, without having to reboot more than once?</title><content type='html'>&lt;pre&gt;Use swcopy(1M) on each patch to copy the patch into a local&lt;br /&gt;depot, then use swinstall(1M) to install all patches&lt;br /&gt;contained in the local depot.&lt;br /&gt;&lt;br /&gt;# swcopy -s /tmp/PHCO_12345.depot \&lt;br /&gt; -x enforce_dependencies=false \* \&lt;br /&gt; @ /tmp/my_patch_depot&lt;br /&gt;# swcopy -s /tmp/PHCO_67890.depot \&lt;br /&gt; -x enforce_dependencies=false \* \&lt;br /&gt; @ /tmp/my_patch_depot&lt;br /&gt;&lt;br /&gt;etc..&lt;br /&gt;&lt;br /&gt;# swinstall -s /tmp/my_patch_depot -x autoreboot=true \*&lt;br /&gt;&lt;br /&gt;The following script automates the process of creating the&lt;br /&gt;depot:&lt;br /&gt;&lt;br /&gt;#!/sbin/sh&lt;br /&gt;# cd to the directory where the patches are (PHxx_xxxx)&lt;br /&gt;# and start this script. it will extract the patches one&lt;br /&gt;# by one and create a patch-depot in $PDEPOT.&lt;br /&gt;&lt;br /&gt;PATH=/usr/bin:/usr/sbin&lt;br /&gt;PDEPOT=/tmp/my_patch_depot&lt;br /&gt;for PFILE in PH*[0-9]; do&lt;br /&gt;sh $PFILE&lt;br /&gt;rm $PFILE&lt;br /&gt;done&lt;br /&gt;# It's a good habit first reading the PHxx_xxxx.text&lt;br /&gt;# files before deleting them.&lt;br /&gt;# rm *.text&lt;br /&gt;for PFILE in PH*depot; do&lt;br /&gt;swcopy -s -x enforce_dependencies=false $PWD/$PFILE \* \&lt;br /&gt;@ $PDEPOT&lt;br /&gt;done&lt;br /&gt;clear&lt;br /&gt;echo \&lt;br /&gt;"*******************************************************"&lt;br /&gt;echo \&lt;br /&gt;"PLEASE NOTE: The Patch depot $PDEPOT has been created."&lt;br /&gt;echo \&lt;br /&gt;"*******************************************************"&lt;br /&gt;echo \&lt;br /&gt;"Please start swinstall with $PDEPOT as the source, and"&lt;br /&gt;echo \&lt;br /&gt;"don't forget to unregister the depot"&lt;br /&gt;echo \&lt;br /&gt;"(e.g. swreg -u -l depot $PDEPOT)."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;http://www.faqs.org/faqs/hp/hpux-faq/section-159.html&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6041736951150534564?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6041736951150534564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/how-can-i-install-multiple-hp-ux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6041736951150534564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6041736951150534564'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/how-can-i-install-multiple-hp-ux.html' title='How can I install multiple HP-UX patches, without having to reboot more than once?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-7501704253035707460</id><published>2010-07-09T02:39:00.003+07:00</published><updated>2010-07-18T12:21:41.174+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>Time Not Syncing With Remote NTP Server</title><content type='html'>&lt;p&gt;All computers have their own internal clocks, implemented in hardware  and software.  These clocks have acceptable accuracy, but are not  anywhere near perfect?they all exhibit ?clock drift,? letting their time  drift by several seconds a day.  While desktop users may not be  inconvenienced by drift, system administrators cannot tolerate it.  When  running a server, it is essential to keep the system's time  synchronized with the other servers it interacts with.&lt;/p&gt;      &lt;p&gt;Linux provides a means to keep time in sync via the Network Time  Protocol (NTP).  A computer running the NTP client frequently probes one  or more NTP servers and synchronizes its time with that of the  server(s).&lt;/p&gt;     &lt;p&gt;YaST provides a means to set-up one or more remote NTP server via  the ?NTP Client? module found under "Network Services."  A list of  public NTP servers can be found at &lt;a href="http://ntp.isc.org/bin/view/Servers/WebHome" target="NewWindow"&gt;http://ntp.isc.org/bin/view/Servers/WebHome&lt;/a&gt;.   OES servers can also be configured to serve as NTP servers.  See the &lt;a href="http://www.novell.com/documentation/oes/index.html?page=/documentation/oes/ntp/data/front.html#bktitle" target="NewWindow"&gt;Novell Network Time Protocol Administration Guide  for OES&lt;/a&gt; for more details.&lt;/p&gt;         &lt;p&gt;&lt;b&gt;The Problem:&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;When adding a remote time source in YaST, there are always at least  two sources added to &lt;b&gt;/etc/ntp.conf:&lt;/b&gt; the local computer and the  remote time source.  When the NTP daemon starts, it initially  synchronizes the system time to the time server's time, then  periodically performs the same synchronization in the background.  If  the time server is not immediately available, then NTP falls back on the  default local time source.&lt;/p&gt;      &lt;p&gt;Some users have observed that their system time is being  synchronized to the remote server's time when xntpd initially starts,  but then is only being synchronized to their local time thereafter.  An  example /var/log/ntp would look like this:&lt;/p&gt;   &lt;pre&gt;&lt;br /&gt;2 May 08:11:05 ntpd[2965]: synchronized to LOCAL(0), stratum 10&lt;br /&gt;2 May 08:11:05 ntpd[2965]: kernel time sync disabled 0041&lt;br /&gt;2 May 08:14:17 ntpd[2965]: synchronized to LOCAL(0), stratum 10&lt;br /&gt;2 May 08:26:13 ntpd[2965]: kernel time sync enabled 0001&lt;br /&gt;2 May 10:33:35 ntpd[3489]: synchronized to LOCAL(0), stratum 10&lt;br /&gt;2 May 10:33:35 ntpd[3489]: kernel time sync disabled 0041&lt;br /&gt;&lt;/pre&gt;    &lt;p&gt;Also, executing xntpdc -p would reveal that the time is synchronized  to the LOCAL, not the remote server (see the entry with the '*').&lt;/p&gt;    &lt;pre&gt;#  xntpdc -p&lt;br /&gt;&lt;br /&gt;  remote           local      st poll reach  delay   offset    disp&lt;br /&gt;=======================================================================&lt;br /&gt;*LOCAL(0)        127.0.0.1       10 1024  377 0.00000  0.000000 0.11856&lt;br /&gt;=prv-time.provo. 137.65.211.18    2 1024  377 0.00041 -262.1380 0.11470&lt;br /&gt;&lt;/pre&gt;         &lt;p&gt;&lt;b&gt;The Solution:&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;The solution is to make NTP more persistent when probing the remote  time server.  This is done by appending the flags burst and iburst to  the remote server;  burst tells NTP to send a burst of eight packets to  the remote server instead of one when the server is reachable, and  iburst tells it to do the same when the server is not reachable. The  result is faster and more reliable synchronizations.&lt;/p&gt;      &lt;p&gt;These options can be added in the "&lt;i&gt;NTP Client&lt;/i&gt;" YaST module by  selecting "&lt;i&gt;Complex Configuration&lt;/i&gt;" then editing the remote  server.  The options are added in the "&lt;i&gt;Options&lt;/i&gt;" field and are  space-delimited.  They can also be added directly to the server in  /etc/ntp.conf as follows:&lt;/p&gt;       &lt;pre&gt;&lt;br /&gt;server 137.65.1.123  burst iburst&lt;br /&gt;&lt;/pre&gt;    &lt;p&gt;A healthy /var/log/ntp will then look like this:&lt;/p&gt;       &lt;pre&gt;&lt;br /&gt;29 Apr 15:24:58 ntpd[6892]: synchronized to 137.65.1.123, stratum 2&lt;br /&gt;29 Apr 15:24:58 ntpd[6892]: kernel time sync disabled 0041&lt;br /&gt;29 Apr 15:26:15 ntpd[6892]: kernel time sync enabled 0001&lt;br /&gt;2 May 08:10:41 ntpd[6892]: ntpd exiting on signal 15&lt;br /&gt;2 May 08:13:33 ntpd[6684]: synchronized to 137.65.1.123, stratum 2&lt;br /&gt;2 May 08:13:33 ntpd[6684]: kernel time sync disabled 0041&lt;br /&gt;2 May 08:13:45 ntpd[6684]: kernel time sync enabled 0001&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;http://www.novell.com/coolsolutions/feature/15345.html&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-7501704253035707460?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/7501704253035707460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/time-not-syncing-with-remote-ntp-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7501704253035707460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/7501704253035707460'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/time-not-syncing-with-remote-ntp-server.html' title='Time Not Syncing With Remote NTP Server'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8743125743022138926</id><published>2010-07-05T18:22:00.001+07:00</published><updated>2010-07-05T18:26:27.001+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mail'/><title type='text'>Outlook Express Error Code : 0×800C0133</title><content type='html'>ข้อผิดพลาดหมายเลข 0×800C0133 เกิดขึ้นจากการที่ Outlook Express&lt;br /&gt;ไม่สามารถจัดการกับ Inbox ที่มีขนาดเกิน 2 กิกะไบต์ได้นั่นเอง&lt;br /&gt;โดยทั้งนี้ไม่ขึ้นอยู่กับจำนวนอีเมลล์ที่รับได้&lt;br /&gt;ขึ้นตอนการแก้ไขทำได้หลายวิธีด้วยกัน แต่แนะนำให้ถือโอกาสนี้&lt;br /&gt;สังคายนา Inbox ของคุณซะเลยก็ดีเหมือนกันนะ&lt;br /&gt;&lt;br /&gt;ขั้นแรก สร้างเมลล์บ็อกซ์ขึ้นมาใหม่&lt;br /&gt;โดยคลิ้กขวาบนรายการ Local Folders ที่อยู่ในกรอบหน้าต่างทางขวา&lt;br /&gt;เลือกคำสั่ง New Folder ตั้งชื่อ เช่น 2008Q1 ซึ่งหมายถึงอีเมลล์&lt;br /&gt;3เดือนแรกของปี 2008&lt;br /&gt;&lt;br /&gt;จากนั้นใน Inbox คลิ้กเลือกอีเมลล์ตั้งแต่เดือนมกรา-มีนาคม คลิ้กขวา&lt;br /&gt;เลือกคำสั่ง Move to Foder… เลือกย้ายไปที่โฟลเดอร์ 2008Q1&lt;br /&gt;เพียงแค่นี้อีเมลล์ 3 เดือนแรกของปีก็จะถูกย้ายออกไปจาก Inboxแล้ว&lt;br /&gt;&lt;br /&gt;ขั้นตอนต่อไป ก็คือการลดขนาด Inbox ด้วยการคลิ้กเมนู&lt;br /&gt;File–&gt;Compact โปรแกรม OE จะลดขนาดไฟล์ Inbox ลง&lt;br /&gt;โดยคุณสามารถตรวจสอบขนาดไฟล์อินบ็อกซ์ได้ที่&lt;br /&gt;C:\Document and Settings\(user)\Local Settings\Application Data\&lt;br /&gt;Identities\{GIU}\Microsoft\Outlook Express&lt;br /&gt;จะเห็นว่าไฟล์ Inbox.dbx มีขนาดลดลงแล้ว ให้ลองคลิ้กรับเมลล์อีกครั้ง&lt;br /&gt;&lt;br /&gt;Reference: http://blog.ibiz.co.th/2008/12/15/oe-outlook-express-error-code-0x800c0133/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-8743125743022138926?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8743125743022138926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/07/outlook-express-error-code-0800c0133.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8743125743022138926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8743125743022138926'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/07/outlook-express-error-code-0800c0133.html' title='Outlook Express Error Code : 0×800C0133'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4478750001738243628</id><published>2010-06-27T08:33:00.002+07:00</published><updated>2010-07-16T18:09:35.522+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat/CentOS/Fedora'/><title type='text'>How to install Gnome GUI on Redhat-based OS</title><content type='html'>to install GNOME on redhat based OS, run these command&lt;br /&gt;&lt;br /&gt;yum groupinstall "GNOME Desktop Environment"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4478750001738243628?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4478750001738243628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/06/how-to-install-gnome-gui-on-redhat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4478750001738243628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4478750001738243628'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/06/how-to-install-gnome-gui-on-redhat.html' title='How to install Gnome GUI on Redhat-based OS'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4613886773515967939</id><published>2010-05-06T16:08:00.001+07:00</published><updated>2010-05-06T16:11:36.988+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtuozzo'/><title type='text'>How do I mount an ISO image in Virtuozzo container?</title><content type='html'>In Parallels Virtuozzo Containers 4.0 you may use FUSE (filesystem in  userspace) to mount ISO image inside a container.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. &lt;/strong&gt;Make  sure that '&lt;strong&gt;fuse&lt;/strong&gt;' module is loaded on hardware node:&lt;br /&gt;&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt;~# lsmod | grep fuse&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;If it is  not there, use:&lt;br /&gt;&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt;~# modprobe fuse&lt;br /&gt;~#  lsmod|grep fuse&lt;br /&gt;fuse                   45320  0&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;In  case you would like to load '&lt;strong&gt;fuse&lt;/strong&gt;' module automatically  before starting the service '&lt;strong&gt;vz&lt;/strong&gt;' please implement init  script '&lt;strong&gt;/etc/rc.modules&lt;/strong&gt;' on your node, as described in  the article:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new,courier;font-size:12px;"  &gt;---8&lt;--- &lt;a href="http://kb.parallels.com/en/696"&gt;http://kb.parallels.com/en/696&lt;/a&gt;&lt;br /&gt;...&lt;br /&gt;In  order to automate modules loading before Virtuozzo services are started  you may install 'openvpn' package from Virtuozzo distrib (in HW/RPMS  directory) and enable it in default runlevel (use 'chkconfig' utility to  do that). Please also use instructions on automated module loading  suitable for base OS installed on hardware node.&lt;br /&gt;Just for example,  for  RedHat-based systems (such as Fedora Core, RedHat AS3/AS4, CentOS  3/4) it should be enough to add 'modprobe tun' command into  /etc/rc.modules file and make it executable:&lt;br /&gt;&lt;br /&gt;# chmod a+rx  /etc/rc.modules&lt;br /&gt;---&gt;8---&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and then put the command '&lt;strong&gt;modprobe  fuse&lt;/strong&gt;' inside the file.&lt;br /&gt;&lt;br /&gt;After that please restart the  hardware node to make sure that '&lt;strong&gt;fuse&lt;/strong&gt;' module is loaded  correctly before the service '&lt;strong&gt;vz&lt;/strong&gt;'.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. &lt;/strong&gt;Grant  a container #101 the permission to work with &lt;strong&gt;/dev/fuse&lt;/strong&gt;  character device and create corresponding device inside a container  (run these commands on Virtuozzo server):&lt;br /&gt;&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt;~# vzctl set 101 --devices c:10:229:rw --save&lt;br /&gt;~#  vzctl exec 101 mknod -m 666 /dev/fuse c 10 229&lt;br /&gt;~# vzctl exec 101 cp  -a /dev/fuse  /lib/udev/devices/&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In case the file &lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;/dev/fuse&lt;/span&gt;&lt;/strong&gt; already  exist please make sure it has proper access permissions. Also if the  directory '&lt;strong&gt;&lt;span style="font-family:Courier New;"&gt;/lib/udev/devices&lt;/span&gt;&lt;/strong&gt;'  does not exist, please create it and set correct access permissions:&lt;br /&gt;&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt; # vzctl exec 101 mkdir /lib/udev/devices&lt;br /&gt;#  vzctl exec 101 chmod 755 /lib/udev/devices/&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Check  these files:&lt;br /&gt;&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt;~# vzctl exec 101 ls  -l /lib/udev/devices/fuse&lt;br /&gt;crw-rw-rw- 1 root root 10, 229 Oct 25  19:37 /lib/udev/devices/fuse&lt;br /&gt;&lt;br /&gt;# vzctl exec 101 ls -l /dev/fuse&lt;br /&gt;crw-rw-rw-  1 root root 10, 229 Oct 25 19:37 /dev/fuse&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.  &lt;/strong&gt;Install packages fuseiso and fuse into container. Names of  packages may be different on different Linux distributions: for Debian  and Ubuntu install fuseiso and fuse-utils packages (available in  repository) for RHEL/CentOS 3/4/5 use DAG's packages fuse-iso and fuse  for Fedora 7/8 both fuseiso and fuse are available from the main/updates  repositories for Fedora 6, fuse is available from extras repo, use  dries for fuse-iso To mount an ISO image run the command inside a  container:&lt;br /&gt;&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt;~# fuseiso IMAGE.iso  /mnt&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;Replace IMAGE.iso in the command above with the  exact name of ISO image (including path) on filesystem, replace &lt;strong&gt;/mnt&lt;/strong&gt;  with path where you want ISO image to be mounted.&lt;br /&gt;&lt;br /&gt;To umount  image use this command:&lt;br /&gt;&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt;~#  fusermount -u /mnt&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;Again - replace &lt;strong&gt;/mnt&lt;/strong&gt;  with exact path where ISO image was mounted.&lt;br /&gt;&lt;br /&gt;Reference: http://kb.parallels.com/en/4628&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4613886773515967939?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4613886773515967939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/05/how-do-i-mount-iso-image-in-virtuozzo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4613886773515967939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4613886773515967939'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/05/how-do-i-mount-iso-image-in-virtuozzo.html' title='How do I mount an ISO image in Virtuozzo container?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5949196044006155508</id><published>2010-05-06T15:48:00.003+07:00</published><updated>2010-05-06T16:12:18.710+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtuozzo'/><title type='text'>How to allow container to use device on hardware node in Virtuozzo Container?</title><content type='html'>Make sure the device has been already loaded on the  hardware node using lsmod. If doesn't load, using modprobe command to load it.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;code&gt;# lsmod | grep tun&lt;br /&gt;&lt;/code&gt;If it is not there, use&lt;br /&gt;&lt;div class="commandline"&gt;&lt;code&gt;# modprobe tun&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;run the command on hardware node&lt;br /&gt;&lt;code&gt;vzctl set 101 --devices c:10:200:rw --save&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;where&lt;br /&gt;&lt;br /&gt;101 means container ID 101 will be granted permissions to use the device&lt;br /&gt;&lt;code&gt;c:10:200:rw &lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;&lt;/code&gt;means allow read/write permissions over character  device with major number 10 and minor number 200&lt;br /&gt;&lt;br /&gt;Then run the command&lt;br /&gt;&lt;code&gt;vzctl exec 101 mknod /dev/net/tun c 10 200&lt;br /&gt;&lt;br /&gt;where /dev/net/tun &lt;/code&gt;is device file for character  device with major number 10 and minor number 200&lt;br /&gt;&lt;br /&gt;Check for major number and minor number of the device for devices.txt in kernel documentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5949196044006155508?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5949196044006155508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/05/how-to-allow-container-to-use-device-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5949196044006155508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5949196044006155508'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/05/how-to-allow-container-to-use-device-on.html' title='How to allow container to use device on hardware node in Virtuozzo Container?'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-836247325847623674</id><published>2010-04-24T13:10:00.008+07:00</published><updated>2010-04-24T13:32:46.281+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtuozzo'/><title type='text'>some iptables functions don't work after install virtuozzo</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;Symptom: &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;some iptables function that relate with connection tracking module aren't functional after you install virtuozzo.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Example: -m state --state ESTABLISHED,RELATED&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;Cause:&lt;/b&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;kernel module named ip_conntrack is disabled by default on hardware node or container 0 (ve0).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;b&gt;Resolution&lt;/b&gt;: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Enable ip_conntrack for ve0 by add following line to /etc/modprobe.conf file.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;i&gt;options ip_conntrack ip_conntrack_enable_ve0=1&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;and if you see these following line in the file&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;i&gt;options ip_conntrack ip_conntrack_disable_ve0=1&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;then change the parameter to 0 as following.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;i&gt;options ip_conntrack ip_conntrack_disable_ve0=0&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&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/1971318307217572208-836247325847623674?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/836247325847623674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/04/some-iptables-function-dont-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/836247325847623674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/836247325847623674'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/04/some-iptables-function-dont-work.html' title='some iptables functions don&apos;t work after install virtuozzo'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2729879358744697982</id><published>2010-01-24T01:33:00.003+07:00</published><updated>2010-01-24T01:39:28.526+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>Changing the name of a SQL Server machine</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;b&gt;Overview&lt;/b&gt;&lt;br /&gt;If you change the machine name of a machine with SQL Server installed, you need to do a few things in SQL Server after the machine name change. This article outlines those steps. The article applies to SQL Server 7.0, 2000, 2005 and 2008.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Note:&lt;/b&gt; If the SQL Server is installed in a cluster, you should reinstall or hire an expert (who probably will tell you to reinstall).  Thanks to SQL Server MVP Geoff N. Hiten for catching that.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 1 (7.0)&lt;/b&gt;&lt;br /&gt;The SQL Server service will not start after the machine name change. You will get a Windows error message box: "Your SQL Server installation is either corrupt or had been tampered with (unknown package id) Please rerun setup."&lt;br /&gt;All you have to do is to follow the advice. Pop in the SQL Server CD and run setup again. Setup will not reinstall anything,  it will only make the adjustments needed so you can start SQL Server again.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 2 (all versions)&lt;/b&gt;&lt;br /&gt;After starting SQL Server, you need to take care of the sysservers table in the master database. SQL Server stores the local machine name here and this will not match if you have renamed the machine in Windows. This is also easy to fix:&lt;br /&gt;&lt;br /&gt;&lt;code  style="font-size:12px;"&gt;&lt;span style="color:blue;"&gt;EXEC &lt;/span&gt;&lt;span style="color:darkred;"&gt;sp_dropserver &lt;/span&gt;&lt;span style="color:red;"&gt;'&lt;old_name&gt;oldservername'&lt;br /&gt;&lt;/old_name&gt;&lt;/span&gt;&lt;span style="color:black;"&gt;GO&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;EXEC &lt;/span&gt;&lt;span style="color:darkred;"&gt;sp_addserver &lt;/span&gt;&lt;span style="color:red;"&gt;'&lt;new_name&gt;newservername'&lt;/new_name&gt;&lt;/span&gt;&lt;span style="color:gray;"&gt;, &lt;/span&gt;&lt;span style="color:red;"&gt;'local'&lt;br /&gt;&lt;/span&gt;&lt;span style="color:black;"&gt;GO&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;You need to replace &lt;old_name&gt; above with the old machine name and &lt;new_name&gt; with the new machine name.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Step 3 (7.0 and 2000)&lt;/b&gt;&lt;br /&gt;In this last step, you need to handle the sysjobs table in the msdb database. There is one row in sysjobs for each SQL Server agent job. In the column originating_server, you find the name of the server where the job was created. This is to support master and target server (MSX). If a job is created on a master server, you cannot modify the job definition on the targer server; all modifications has to be done on the master server.&lt;br /&gt;&lt;br /&gt;So, if you changed the machine name, SQL Server will think that the job originated on a master server, and you will not be able to do anything with that job definition. You can handle this in two ways:&lt;br /&gt;&lt;br /&gt;1. Rename the machine back to the old name, script the job definitions, delete the jobs, rename the machine to the new name again and use the script to re-create the jobs. See &lt;a href="http://support.microsoft.com/?id=281642"&gt;Error 14274 Occurs When You Update a SQL Agent Job After Renaming Windows Server&lt;/a&gt; for more information.&lt;br /&gt;&lt;br /&gt;2. I find it easier to modify the sysjobs table directly. Note that this isn't supported and if you don't feel confident with doing below, don't; use above steps instead.&lt;br /&gt;&lt;br /&gt;&lt;code  style="font-size:12px;"&gt;&lt;span style="color:blue;"&gt;DECLARE &lt;/span&gt;&lt;span style="color: rgb(67, 67, 67);"&gt;@srv &lt;/span&gt;&lt;span style="color:black;"&gt;sysname&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;SET &lt;/span&gt;&lt;span style="color: rgb(67, 67, 67);"&gt;@srv &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:magenta;"&gt;CAST&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:magenta;"&gt;SERVERPROPERTY&lt;/span&gt;&lt;span style="color:gray;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'ServerName'&lt;/span&gt;&lt;span style="color:gray;"&gt;) &lt;/span&gt;&lt;span style="color:blue;"&gt;AS &lt;/span&gt;&lt;span style="color:black;"&gt;sysname&lt;/span&gt;&lt;span style="color:gray;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:blue;"&gt;UPDATE &lt;/span&gt;&lt;span style="color:black;"&gt;sysjobs &lt;/span&gt;&lt;span style="color:blue;"&gt;SET &lt;/span&gt;&lt;span style="color:black;"&gt;originating_server &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color: rgb(67, 67, 67);"&gt;@srv&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;If this is a target server (you have jobs sent from a master server), you have to exclude them, so you don't convert those jobs into local jobs:&lt;br /&gt;&lt;br /&gt;&lt;code  style="font-size:12px;"&gt;&lt;span style="color:blue;"&gt;WHERE &lt;/span&gt;&lt;span style="color:black;"&gt;originating_server &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;'&lt;old_name&gt;'&lt;br /&gt;&lt;/old_name&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;You need to replace &lt;old_name&gt; above with the old machine name.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Read this if you deploy images with SQL Server installed&lt;/b&gt;&lt;br /&gt;The "Distributed Transaction Coordinator" service (DTC) creates a GUID in the registry when it is installed.  Below is an example of a path for the key, for a SQL Server instance named "Fresh":&lt;br /&gt;&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\FRESH\MSSQLServer\ResourceMgrID&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;If you image such an installation using Ghost or some other imaging software, you will have duplicates of this GUID on your machines and your distributed transactions will fail. You can delete this key and a new key with a unique value will be created next time the SQL Server is started. Make sure that you don't have any open distributed transactions when doing this.&lt;br /&gt;&lt;br /&gt;Reference: http://www.karaszi.com/SQLServer/info_change_server_name.asp&lt;br /&gt;&lt;/old_name&gt;&lt;/new_name&gt;&lt;/old_name&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2729879358744697982?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2729879358744697982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/changing-name-of-sql-server-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2729879358744697982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2729879358744697982'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/changing-name-of-sql-server-machine.html' title='Changing the name of a SQL Server machine'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6562650000122948083</id><published>2010-01-22T11:32:00.002+07:00</published><updated>2010-01-22T11:33:40.227+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How to know w3wp.exe process belong to which apppool</title><content type='html'>run this command:&lt;br /&gt;cscript c:\windows\system32\iisapp.vbs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6562650000122948083?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6562650000122948083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/how-to-know-w3wpexe-process-belong-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6562650000122948083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6562650000122948083'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/how-to-know-w3wpexe-process-belong-to.html' title='How to know w3wp.exe process belong to which apppool'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8913986357651609394</id><published>2010-01-20T21:16:00.001+07:00</published><updated>2010-01-20T21:17:56.931+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>windows command for control Access Control Lists</title><content type='html'>&lt;h1&gt;CACLS.exe&lt;/h1&gt;  &lt;p&gt;Display or modify Access Control Lists (ACLs) for files and folders.&lt;br /&gt; &lt;br /&gt;  Access Control Lists apply only to files stored on an NTFS formatted drive,    each ACL determines which users (or groups of users) can read or edit the file.    When a new file is created it normally inherits ACL's from the folder where  it was created.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Limitations&lt;/b&gt;&lt;/p&gt; &lt;p&gt;Cacls cannot display or modify the ACL state of files locked in exclusive use.&lt;/p&gt; Cacls cannot set the following permissions: &lt;span class="code"&gt;change permissions, take ownership, execute&lt;/span&gt;, &lt;span class="code"&gt; delete&lt;/span&gt; use &lt;a href="http://ss64.com/nt/xcacls.html"&gt;XCACLS&lt;/a&gt; to set any of these.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-8913986357651609394?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8913986357651609394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/windows-command-for-control-access.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8913986357651609394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8913986357651609394'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/windows-command-for-control-access.html' title='windows command for control Access Control Lists'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-3174846163301599136</id><published>2010-01-20T21:10:00.004+07:00</published><updated>2010-01-20T21:14:19.184+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Windows File Replication with robocopy</title><content type='html'>&lt;span class="article"&gt;A better way to replicate is to use the &lt;b&gt;ROBOCOPY&lt;/b&gt; utility from the resource kit tools.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;There are at least 4 ways that you can use &lt;b&gt;ROBOCOPY&lt;/b&gt; to do your replication:&lt;p&gt;  1. A manually invoked batch file: &lt;/p&gt;&lt;pre&gt;&lt;b&gt;&lt;br /&gt;robocopy \\&lt;sourceserver1&gt;\admin$\system32\repl\export\ \\&lt;sourceserver1&gt;\admin$\system32\repl\import /s /v /r:1 /w:1 /eta&lt;br /&gt;robocopy \\&lt;sourceserver1&gt;\admin$\system32\repl\export\ \\&lt;destinationserver1&gt;\admin$\system32\repl\import /s /v /r:1 /w:1 /eta&lt;/destinationserver1&gt;&lt;/sourceserver1&gt;&lt;/sourceserver1&gt;&lt;/sourceserver1&gt;&lt;/b&gt;&lt;/pre&gt;  NOTE: &lt;sourceserver1&gt; and &lt;destinationserver1&gt; are the names of the computers being synchronized.&lt;p&gt;  The first time that you replicate, use &lt;b&gt;SCOPY&lt;/b&gt; to preserve permissions and then use &lt;b&gt;ROBOCOPY&lt;/b&gt; which will maintain the permissions.&lt;/p&gt;&lt;p&gt;  2. You can cause the above batch file to continuously loop:&lt;/p&gt;&lt;pre&gt;&lt;b&gt;&lt;br /&gt;:LOOP&lt;br /&gt;robocopy \\&lt;sourceserver1&gt;\admin$\system32\repl\export\ \\&lt;sourceserver1&gt;\admin$\system32\repl\import /s /v /r:1 /w:1 /eta&lt;br /&gt;robocopy \\&lt;sourceserver1&gt;\admin$\system32\repl\export\ \\&lt;destinationserver1&gt;\admin$\system32\repl\import /s /v /r:1 /w:1 /eta&lt;br /&gt;Sleep 1800&lt;br /&gt;goto LOOP&lt;/destinationserver1&gt;&lt;/sourceserver1&gt;&lt;/sourceserver1&gt;&lt;/sourceserver1&gt;&lt;/b&gt;&lt;/pre&gt;  Sleep is a Resource Kit utility. The above sleeps for 1800 seconds, &lt;b&gt;½&lt;/b&gt; hour.&lt;p&gt;  3. Schedule the batch file from number 1.&lt;/p&gt;&lt;p&gt; The schedule service runs under the context of the system account which is local and has no network access. Create a new user account that is a member of the domain admin group with a non-blank, non-expiring password. In user manager for domains, give it all the advanced rights it may ever need including logon as a service and batch job.&lt;/p&gt;&lt;p&gt; In control panel services, stop the schedule service. Configure it to start automatically and to use this new account. Start the scheduler service.&lt;/p&gt;&lt;p&gt;  AT 12:00AM /every:m,t,w,th,f,sa,su &lt;drive:&gt;\Folder\replicate.bat&lt;br /&gt;AT 08:00AM /every:m,t,w,th,f,sa,su &lt;drive:&gt;\Folder\replicate.bat&lt;br /&gt;AT 12:00PM /every:m,t,w,th,f,sa,su &lt;drive:&gt;\Folder\replicate.bat&lt;br /&gt;AT 08:00PM /every:m,t,w,th,f,sa,su &lt;drive:&gt;\Folder\replicate.bat&lt;/drive:&gt;&lt;/drive:&gt;&lt;/drive:&gt;&lt;/drive:&gt;&lt;/p&gt;&lt;p&gt;  4. Run it as a service&lt;/p&gt;&lt;p&gt;  You can use the batch file from number 2 and &lt;b&gt;Instsrv.exe&lt;/b&gt; to create the regiistry entries for the &lt;b&gt;SRVANY&lt;/b&gt; service. These utilites are also from the Resource Kit.&lt;/p&gt;&lt;p&gt;  &lt;b&gt;NOTES:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;  You use the &lt;b&gt;/purge&lt;/b&gt; option to delete files on the destination that have been removed from the source if you wish to emulate this replicator service function.&lt;/p&gt;&lt;p&gt;   You may wish to limit the default retries as the destination files may be in an open status. Using  &lt;b&gt;/R:5 /W:5&lt;/b&gt; will timeout faster.&lt;/p&gt;&lt;p&gt;  If you pipe the output, check that your log file isn't consuming too much space.&lt;/p&gt;&lt;p&gt;  You can run &lt;b&gt;ROBOCOPY&lt;/b&gt; on any machine, even a Workstation. It does not have to run on the source or destination computer.&lt;/p&gt;&lt;p&gt; If absolute symmetry between the source and destination directories is needed, the /purge, /e, /t, and event /is switches can be used. See the online help and the &lt;b&gt;Robocopy.wri&lt;/b&gt; file, you may not need to be this exacting.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Reference: http://windowsitpro.com/article/articleid/71934/jsi-tip-0609---a-better-way-to-replicate.html&lt;br /&gt;&lt;/p&gt;&lt;/destinationserver1&gt;&lt;/sourceserver1&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-3174846163301599136?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/3174846163301599136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/windows-file-replication-with-robocopy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3174846163301599136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3174846163301599136'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/windows-file-replication-with-robocopy.html' title='Windows File Replication with robocopy'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-3991089534728939712</id><published>2010-01-20T21:05:00.003+07:00</published><updated>2010-01-20T21:10:13.323+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>How To Create a User-Defined Service</title><content type='html'>Download Microsoft Windows Server 2003 Resource Kit Tools at&lt;br /&gt;http://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe&lt;br /&gt;&lt;br /&gt;The Windows NT Resource Kit provides two utilities that allow you to create a Windows NT user-defined service for Windows NT applications and some 16-bit applications (but not for batch files).&lt;br /&gt;&lt;br /&gt;Instrsrv.exe installs and removes system services from Windows NT and Srvany.exe allows any Windows NT application to run as a service.&lt;br /&gt;&lt;h4&gt;Overview&lt;/h4&gt;&lt;div class="downloadInfo"&gt;&lt;a name="Description"&gt;&lt;/a&gt;&lt;span&gt;The Microsoft® Windows® Server 2003 Resource Kit Tools are a set of tools to help administrators streamline management tasks such as troubleshooting operating system issues, managing Active Directory®, configuring networking and security features, and automating application deployment.&lt;br /&gt;&lt;br /&gt;The following tools are provided: &lt;ul&gt;&lt;li&gt;Acctinfo.dll (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Adlb.exe: Active Directory Load Balancing Tool &lt;/li&gt;&lt;li&gt;Admx.msi: ADM File Parser &lt;/li&gt;&lt;li&gt;Atmarp.exe: Windows ATM ARP Server Information Tool&lt;/li&gt;&lt;li&gt;Atmlane.exe: Windows ATM LAN Emulation Client Information&lt;/li&gt;&lt;li&gt;Autoexnt.exe: AutoExNT Service&lt;/li&gt;&lt;li&gt;Cdburn.exe: ISO CD-ROM Burner Tool&lt;/li&gt;&lt;li&gt;Checkrepl.vbs: Check Replication&lt;/li&gt;&lt;li&gt;Chklnks.exe: Link Check Wizard&lt;/li&gt;&lt;li&gt;Chknic.exe: Network Interface Card Compliance Tool for Network Load Balancing&lt;/li&gt;&lt;li&gt;Cleanspl.exe: Spooler Cleaner&lt;/li&gt;&lt;li&gt;Clearmem.exe: Clear Memory&lt;/li&gt;&lt;li&gt;Clusdiag.msi: Cluster Diagnostics and Verification Tool&lt;/li&gt;&lt;li&gt;Clusfileport.dll: Cluster Print File Port&lt;/li&gt;&lt;li&gt;Clusterrecovery.exe: Server Cluster Recovery Utility&lt;/li&gt;&lt;li&gt;Cmdhere.inf: Command Here&lt;/li&gt;&lt;li&gt;Cmgetcer.dll: Connection Manager Certificate Deployment Tool&lt;/li&gt;&lt;li&gt;Compress.exe: Compress Files&lt;/li&gt;&lt;li&gt;Confdisk.exe: Disk Configuration Tool&lt;/li&gt;&lt;li&gt;Consume.exe: Memory Consumers Tool&lt;/li&gt;&lt;li&gt;Creatfil.exe: Create File&lt;/li&gt;&lt;li&gt;Csccmd.exe: Client-Side Caching Command-Line Options&lt;/li&gt;&lt;li&gt;Custreasonedit.exe: Custom Reason Editor (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Delprof.exe: User Profile Deletion Utility&lt;/li&gt;&lt;li&gt;Dh.exe: Display Heap&lt;/li&gt;&lt;li&gt;Diskraid.exe: RAID Configuration Tool&lt;/li&gt;&lt;li&gt;Diskuse.exe: User Disk Usage Tool&lt;/li&gt;&lt;li&gt;Dnsdiag.exe: SMTP DNS Diagnostic Tool (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Dumpfsmos.cmd: Dump FSMO Roles&lt;/li&gt;&lt;li&gt;Dvdburn.exe: ISO DVD Burner Tool&lt;/li&gt;&lt;li&gt;Empty.exe: Free Working Set Tool&lt;/li&gt;&lt;li&gt;Eventcombmt.exe: Check Replication&lt;/li&gt;&lt;li&gt;Fcopy.exe: File Copy Utility for Message Queuing&lt;/li&gt;&lt;li&gt;Frsflags.vbs&lt;/li&gt;&lt;li&gt;Getcm.exe: Connection Manager Profile Update&lt;/li&gt;&lt;li&gt;Gpmonitor.exe: Group Policy Monitor&lt;/li&gt;&lt;li&gt;Gpotool.exe: Group Policy Objects&lt;/li&gt;&lt;li&gt;Hlscan.exe: Hard Link Display Tool&lt;/li&gt;&lt;li&gt;Ifilttst.exe: IFilter Test Suite&lt;/li&gt;&lt;li&gt;Ifmember.exe: User Membership Tool&lt;/li&gt;&lt;li&gt;Inetesc.adm: Internet Explorer Enhanced Security Configuration&lt;/li&gt;&lt;li&gt;Iniman.exe: Initialization Files Manipulation Tool&lt;/li&gt;&lt;li&gt;Instcm.exe: Install Connection Manager Profile&lt;/li&gt;&lt;li&gt;Instsrv.exe: Service Installer&lt;/li&gt;&lt;li&gt;Intfiltr.exe: Interrupt Affinity Tool&lt;/li&gt;&lt;li&gt;Kerbtray.exe: Kerberos Tray&lt;/li&gt;&lt;li&gt;Kernrate.exe: Kernel Profiling Tool&lt;/li&gt;&lt;li&gt;Klist.exe: Kerberos List&lt;/li&gt;&lt;li&gt;Krt.exe: Certification Authority Key Recovery&lt;/li&gt;&lt;li&gt;Lbridge.cmd: L-Bridge&lt;/li&gt;&lt;li&gt;Linkd.exe&lt;/li&gt;&lt;li&gt;Linkspeed.exe: Link Speed&lt;/li&gt;&lt;li&gt;List.exe: List Text File Tool&lt;/li&gt;&lt;li&gt;Lockoutstatus.exe: Account Lockout Status (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Logtime.exe &lt;/li&gt;&lt;li&gt;Lsreport.exe: Terminal Services Licensing Reporter&lt;/li&gt;&lt;li&gt;Lsview.exe: Terminal Services License Server Viewer&lt;/li&gt;&lt;li&gt;Mcast.exe: Multicast Packet Tool&lt;/li&gt;&lt;li&gt;Memmonitor.exe: Memory Monitor&lt;/li&gt;&lt;li&gt;Memtriage.exe: Resource Leak Triage Tool&lt;/li&gt;&lt;li&gt;Mibcc.exe: SNMP MIB Compiler&lt;/li&gt;&lt;li&gt;Moveuser.exe: Move Users&lt;/li&gt;&lt;li&gt;Mscep.dll: Certificate Services Add-on for Simple Certificate Enrollment Protocol&lt;/li&gt;&lt;li&gt;Nlsinfo.exe: Locale Information Tool&lt;/li&gt;&lt;li&gt;Now.exe: STDOUT Current Date and Time&lt;/li&gt;&lt;li&gt;Ntimer.exe: Windows Program Timer&lt;/li&gt;&lt;li&gt;Ntrights.exe&lt;/li&gt;&lt;li&gt;Oh.exe: Open Handles&lt;/li&gt;&lt;li&gt;Oleview.exe: OLE/COM Object Viewer&lt;/li&gt;&lt;li&gt;Pathman.exe: Path Manager&lt;/li&gt;&lt;li&gt;Permcopy.exe: Share Permissions Copy&lt;/li&gt;&lt;li&gt;Perms.exe: User File Permissions Tool&lt;/li&gt;&lt;li&gt;Pfmon.exe: Page Fault Monitor&lt;/li&gt;&lt;li&gt;Pkiview.msc: PKI Health Tool&lt;/li&gt;&lt;li&gt;Pmon.exe: Process Resource Monitor&lt;/li&gt;&lt;li&gt;Printdriverinfo.exe: Drivers Source&lt;/li&gt;&lt;li&gt;Prnadmin.dll: Printer Administration Objects&lt;/li&gt;&lt;li&gt;Qgrep.exe&lt;/li&gt;&lt;li&gt;Qtcp.exe: QoS Time Stamp&lt;/li&gt;&lt;li&gt;Queryad.vbs: Query Active Directory&lt;/li&gt;&lt;li&gt;Rassrvmon.exe: RAS Server Monitor&lt;/li&gt;&lt;li&gt;Rcontrolad.exe: Active Directory Remote Control Add-On&lt;/li&gt;&lt;li&gt;Regini.exe: Registry Change by Script&lt;/li&gt;&lt;li&gt;Regview.exe (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Remapkey.exe: Remap Windows Keyboard Layout&lt;/li&gt;&lt;li&gt;Robocopy.exe: Robust File Copy Utility&lt;/li&gt;&lt;li&gt;Rpccfg.exe: RPC Configuration Tool&lt;/li&gt;&lt;li&gt;Rpcdump.exe&lt;/li&gt;&lt;li&gt;Rpcping.exe&lt;/li&gt;&lt;li&gt;RPing: RPC Connectivity Verification Tool&lt;/li&gt;&lt;li&gt;Rqc.exe: Remote Access Quarantine Client&lt;/li&gt;&lt;li&gt;Rqs.exe: Remote Access Quarantine Agent&lt;/li&gt;&lt;li&gt;Setprinter.exe: Spooler Configuration Tool&lt;/li&gt;&lt;li&gt;Showacls.exe&lt;/li&gt;&lt;li&gt;Showperf.exe: Performance Data Block Dump Utility&lt;/li&gt;&lt;li&gt;Showpriv.exe: Show Privilege&lt;/li&gt;&lt;li&gt;Sleep.exe: Batch File Wait&lt;/li&gt;&lt;li&gt;Sonar.exe: FRS Status Viewer&lt;/li&gt;&lt;li&gt;Splinfo.exe: Print Spooler Information&lt;/li&gt;&lt;li&gt;Srvany.exe: Applications as Services Utility&lt;/li&gt;&lt;li&gt;Srvcheck.exe: Server Share Check &lt;/li&gt;&lt;li&gt;Srvinfo.exe: Remote Server Information&lt;/li&gt;&lt;li&gt;Srvmgr.exe: Server Manager&lt;/li&gt;&lt;li&gt;Ssdformat.exe: System State Data Formatter&lt;/li&gt;&lt;li&gt;Subinacl.exe&lt;/li&gt;&lt;li&gt;Tail.exe&lt;/li&gt;&lt;li&gt;Tcmon.exe: Traffic Control Monitor&lt;/li&gt;&lt;li&gt;Timeit.exe (documented in Readme.htm)&lt;/li&gt;&lt;li&gt;Timezone.exe: Daylight Saving Time Update Utility&lt;/li&gt;&lt;li&gt;Tsctst.exe: Terminal Server Client License Dump Tool&lt;/li&gt;&lt;li&gt;Tsscalling.exe: Terminal Services Scalability Planning Tools&lt;/li&gt;&lt;li&gt;Uddicatschemeeditor.exe: UDDI Services Categorization Scheme Editor&lt;/li&gt;&lt;li&gt;Uddiconfig.exe: UDDI Services Command-line Configuration Utility&lt;/li&gt;&lt;li&gt;Uddidataexport.exe: UDDI Data Export Wizard&lt;/li&gt;&lt;li&gt;Usrmgr.exe: User Manager for Domains&lt;/li&gt;&lt;li&gt;Vadump.exe: Virtual Address Dump&lt;/li&gt;&lt;li&gt;Vfi.exe: Visual File Information&lt;/li&gt;&lt;li&gt;Volperf.exe: Shadow Copy Performance Counters&lt;/li&gt;&lt;li&gt;Volrest.exe: Shadow Copies for Shared Folders Restore Tool &lt;/li&gt;&lt;li&gt;Vrfydsk.exe: Verify Disk&lt;/li&gt;&lt;li&gt;Winexit.scr: Windows Exit Screen Saver&lt;/li&gt;&lt;li&gt;Winhttpcertcfg.exe: WinHTTP Certificate Configuration Tool&lt;/li&gt;&lt;li&gt;Winhttptracecfg.exe: WinHTTP Tracing Facility Configuration Tool&lt;/li&gt;&lt;li&gt;Winpolicies.exe: Policy Spy&lt;/li&gt;&lt;li&gt;Wins.dll: WINS Replication Network Monitor Parser&lt;/li&gt;&lt;li&gt;Wlbs_hb.dll &amp;amp; Wlbs_rc.dll: Windows Load Balancing Server Network Monitor Parsers&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/span&gt;To create a Windows NT user-defined service, perform the following steps:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;At a MS-DOS command prompt(running CMD.EXE), type the following command:&lt;br /&gt;&lt;br /&gt;&lt;var&gt;path&lt;/var&gt;\INSTSRV.EXE &lt;var&gt;My Service&lt;/var&gt;&lt;var&gt; path&lt;/var&gt;\SRVANY.EXE&lt;br /&gt;&lt;br /&gt;      where &lt;var&gt;path&lt;/var&gt; is the drive and directory of the Windows NT Resource Kit (i.e., C:\RESKIT) and &lt;var&gt;My Service&lt;/var&gt; is the name of the service you are creating.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;div class="indent"&gt;&lt;span class="userInput"&gt;C:\Program Files\Resource Kit\Instsrv.exe Notepad C:\Program Files\Resource Kit\Srvany.exe&lt;/span&gt;&lt;/div&gt;&lt;b&gt;NOTE:&lt;/b&gt; To verify that the service was created correctly, check the registry to verify that the ImagePath value under   &lt;div class="indent"&gt;&lt;b&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\&lt;var&gt;service name&lt;/var&gt;&lt;/b&gt;&lt;/div&gt; is set to point to SRVANY.EXE. If this is not set correctly, the service will stop shortly after it starts and return an Event ID 7000 "The &lt;var&gt;service name&lt;/var&gt; failed to start."&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WARNING:&lt;/b&gt; Using Registry Editor incorrectly can cause serious problems    that may require you to reinstall your operating system. Microsoft    cannot guarantee that problems resulting from the incorrect use of    Registry Editor can be solved. Use Registry Editor at your own risk.&lt;br /&gt;&lt;br /&gt;   For information about how to edit the registry, view the "Changing Keys    And Values" online Help topic or the "Add and Delete Information in the    Registry" and "Edit Registry Data" online Help topics in Registry    Editor.&lt;br /&gt;&lt;br /&gt;   NOTE: You should back up the registry before you edit it.&lt;/li&gt;&lt;li&gt;Run Registry Editor (Regedt32.exe)and locate the following subkey:&lt;br /&gt;&lt;br /&gt;      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\&lt;my&gt;&lt;/my&gt;&lt;/li&gt;&lt;li&gt;From the Edit menu, click Add Key. Type the following and click OK:&lt;br /&gt;&lt;br /&gt;      Key Name: Parameters&lt;br /&gt;     Class   : &lt;leave&gt;&lt;/leave&gt;&lt;/li&gt;&lt;li&gt;Select the Parameters key.&lt;/li&gt;&lt;li&gt;From the Edit menu, click Add Value. Type the following and click OK:&lt;br /&gt;&lt;br /&gt;      Value Name: Application&lt;br /&gt;     Data Type : REG_SZ&lt;br /&gt;     String    : &lt;path&gt;\&lt;application.ext&gt;&lt;br /&gt;&lt;br /&gt;      where &lt;path&gt;\&lt;application.ext&gt; is the drive and full path to the       application executable including the extension (i.e.,       C:\WinNT\Notepad.exe)&lt;/application.ext&gt;&lt;/path&gt;&lt;/application.ext&gt;&lt;/path&gt;&lt;/li&gt;&lt;li&gt;Close Registry Editor.&lt;/li&gt;&lt;/ol&gt; By default, a newly created service it configured to run Automatically when the system is restarted. To change this setting to Manual, run the Services applet from Control Panel and change the Startup value to Manual. A service set to Manual can be started in one of several ways:&lt;br /&gt;&lt;div class="indent"&gt;    - From the Services applet in Control Panel&lt;br /&gt;&lt;br /&gt;  - From a MS-DOS command prompt, type the following:&lt;br /&gt;&lt;br /&gt;       NET START &lt;my&gt;&lt;br /&gt;&lt;br /&gt;  - Use the Sc.exe utility from the Resource Kit. Type the following from      a MS-DOS command prompt:&lt;br /&gt;&lt;br /&gt;       &lt;path&gt;\Sc.exe start &lt;my&gt;&lt;br /&gt;&lt;br /&gt;       where &lt;path&gt; is the drive and directory of the Windows NT Resource         Kit (i.e., C:\Reskit). &lt;/path&gt;&lt;/my&gt;&lt;/path&gt;&lt;/my&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For more information on installing and removing a user-defined service, please see the Srvany.wri document provided with the Windows NT Resource Kit utilities (i.e., C:\Reskit\Srvany.wri). This document can also be found on the Windows NT Resource Kit CD in the Common\Config directory.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Reference: http://support.microsoft.com/kb/137890&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-3991089534728939712?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/3991089534728939712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/how-to-create-user-defined-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3991089534728939712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3991089534728939712'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/how-to-create-user-defined-service.html' title='How To Create a User-Defined Service'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4210111871353976773</id><published>2010-01-19T21:47:00.002+07:00</published><updated>2010-01-19T21:57:05.351+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><title type='text'>How to setup a website to access content on a remote NAS server</title><content type='html'>&lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;One of the more common questions in the newsgroups.  &lt;b&gt;"How can I have  my content on a remote server vs. the local web server?".&lt;/b&gt;   This  article is a step by step how-to serve content from a remote server.  This  article assumes there are two machines, 1 web server and 1 content server.   Lets get started.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;b&gt;Assumptions&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Two servers running Windows 2003&lt;/li&gt;  &lt;li&gt;Local user id on each machine with the same user id with same password&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;b&gt;Setting up environment.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Create a user called &lt;b&gt;RemoteContentUser&lt;/b&gt; and password &lt;b&gt;PA$$@Word!&lt;/b&gt;   on both machines&lt;/li&gt;  &lt;li&gt;Create a folder on the server acting as the remote nas server called &lt;b&gt;  RemoteContent&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;Create a website on your web server, point the website to your remote   share.&lt;/li&gt;  &lt;li&gt;Set the User id and Password on the virtual directory as the same as the   local user id you created.&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;Creating the local user id that will be used to authenticate to the remote  share.  You could also create using Computer Management MMC.&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Create user on web server.&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 441px; height: 218px;" src="http://www.iislogs.com/articles/23/index.1.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Create user on remote machine.&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 439px; height: 220px;" src="http://www.iislogs.com/articles/23/index.2.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Create remote directory (This command creates the  &lt;a href="file:///C:/RemoteContent"&gt;C:\RemoteContent&lt;/a&gt; folder)&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 439px; height: 220px;" src="http://www.iislogs.com/articles/23/index.3.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Create RemoteContent$ Share (This allows access directly to the content   using a UNC Path)&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 438px; height: 219px;" src="http://www.iislogs.com/articles/23/index.4.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Using CACLS to grant the RemoteContentUser 'READ' permissions on the   content folder&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 440px; height: 220px;" src="http://www.iislogs.com/articles/23/index.6.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Screen shot from Windows Explorer showing the NTFS permissions.&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img src="http://www.iislogs.com/articles/23/index.7.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Change directory to &lt;a href="file:///C:/RemoteContent"&gt;C:\RemoteContent&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;Create sample&lt;b&gt; Default.asp &lt;/b&gt;that will be displayed from the web   server.&lt;/li&gt;  &lt;li&gt;Create sample &lt;b&gt;Default.aspx &lt;/b&gt;that will be displayed from web server&lt;/li&gt;  &lt;li&gt;Use the &lt;b&gt;ECHO&lt;/b&gt; command to create the &lt;b&gt;Default.asp&lt;/b&gt; and &lt;b&gt;  Default.aspx&lt;/b&gt; adding some sample content&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 436px; height: 218px;" src="http://www.iislogs.com/articles/23/index.22.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;Setup the WebSite&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Open Internet Information Services Manager&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 436px; height: 362px;" src="http://www.iislogs.com/articles/23/index.9.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Right Click on Web Sites and Select a New Web Site&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 436px; height: 360px;" src="http://www.iislogs.com/articles/23/index.10.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 435px; height: 337px;" src="http://www.iislogs.com/articles/23/index.11.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;Enter your &lt;b&gt;domain name.&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 437px; height: 339px;" src="http://www.iislogs.com/articles/23/index.13.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Type in the UNC (Universal Naming Convention) path  &lt;a href="file:///"&gt;\\ServerName\RemoteContent$&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;Click Next&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 440px; height: 341px;" src="http://www.iislogs.com/articles/23/index.16.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Uncheck "Always use the authenticated users credentials when validating   access to the network directory"&lt;/li&gt;  &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 440px; height: 341px;" src="http://www.iislogs.com/articles/23/index.15.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Type in local user name, for our article this is &lt;b&gt;RemoteContentUser&lt;/b&gt;   and  &lt;b&gt;"PA$$@Word!"&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;Confirm password&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img src="http://www.iislogs.com/articles/23/index.17.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;Select &lt;b&gt;READ, Run Scripts (such as ASP)&lt;/b&gt;&lt;/li&gt;  &lt;li&gt;Click &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 423px; height: 328px;" src="http://www.iislogs.com/articles/23/index.18.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Click &lt;b&gt;Finish&lt;/b&gt;&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 423px; height: 328px;" src="http://www.iislogs.com/articles/23/index.19.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Notice the &lt;b&gt;Default.asp, Default.aspx &lt;/b&gt;page displayed in the right   pane.&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 426px; height: 353px;" src="http://www.iislogs.com/articles/23/index.24.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Browse the Classic &lt;b&gt;Default.asp&lt;/b&gt; webpage&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 433px; height: 294px;" src="http://www.iislogs.com/articles/23/index.25.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;To run ASPX webpages you'll need to ensure the local user has MODIFY  permission to the temporary folder where .NET pages are compiled.  If you  do not, you could get this error listed below.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 436px; height: 419px;" src="http://www.iislogs.com/articles/23/index.26.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Grant local &lt;b&gt;RemoteContentUser&lt;/b&gt; 'CHANGE' permissions on the   temporary folder where ASP.NET pages are compiled.  This can be any   user, we are just using a local user for an example.  Security should   be kept in mind when setting up your environment.&lt;/li&gt;  &lt;li&gt;Here is the command &lt;b&gt;cacls "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary   ASP.NET Files" /T /E /G remotecontentuser:C&lt;/b&gt;&lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 440px; height: 217px;" src="http://www.iislogs.com/articles/23/index.27.gif" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt; &lt;li&gt;Browse the Default.aspx webpages. &lt;/li&gt; &lt;/span&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;img style="width: 442px; height: 424px;" src="http://www.iislogs.com/articles/23/index.28.jpg" border="0" /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;If you continue to have issues executing ASP.NET webpages.   You probably need to grant CASPOL permissions.  The command is listed below.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;b&gt;CASPOL&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;Here is a sample error when executing ASP.NET content on a remote share.    &lt;/span&gt;&lt;/p&gt; &lt;table style="width: 446px; height: 361px;" id="table1" bgcolor="#c0c0c0" border="1"&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td&gt;System.Security.SecurityException: Security           error.&lt;br /&gt;     &lt;br /&gt;       Source Error:&lt;br /&gt;     &lt;br /&gt;       Line 57:         private static           System.Collections.ArrayList&lt;br /&gt;       __fileDependencies;&lt;br /&gt;       Line 58:&lt;br /&gt;       Line 59:         public Default_aspx() {&lt;br /&gt;       Line 60:                       System.Collections.ArrayList dependencies;&lt;br /&gt;       Line 61:             if ((ASP.Default_aspx.__intialized           == false)) {&lt;br /&gt;     &lt;br /&gt;     &lt;br /&gt;       Source File: D:\ASPNetTemp\authors_gfweis\3070428c\5b9f07db\9nidezwv.0.cs&lt;br /&gt;       Line: 59&lt;br /&gt;     &lt;br /&gt;       Stack Trace:&lt;br /&gt;     &lt;br /&gt;       [SecurityException: Security error.]&lt;br /&gt;          GfWeis._Default..ctor() +0&lt;br /&gt;          ASP.Default_aspx..ctor() in&lt;br /&gt;       D:\ASPNetTemp\authors_gfweis\3070428c\5b9f07db\9nidezwv.0.cs:59   &lt;p&gt; &lt;/p&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;b&gt;CASPOL to the Rescue&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;span style="color: rgb(97, 97, 97);"&gt;       &lt;/span&gt;&lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;What is &lt;b&gt;CASPOL&lt;/b&gt;?  This is a command line         utility to adjust the security on the CLR and .NET         framework.  There is also two MMC's under the         Administrative Tools to help adjust the CAS         settings.   In order to see all the settings CASPOL         can do, open a command prompt and type in CASPOL         /?     Be very careful before adjusting these         settings.  This shouldn't be done on your production         server without first testing on development server.          Here is more information on        &lt;a href="http://msdn.microsoft.com/en-us/library/cb6t8dtz%28VS.80%29.aspx"&gt;        MSDN&lt;/a&gt; about CASPOL as well as many other tools         provided by the .NET framework.         &lt;a href="http://msdn.microsoft.com/en-us/library/cb6t8dtz%28VS.80%29.aspx"&gt;        Code Access Security Policy Tool (Caspol.exe)&lt;/a&gt;         (Allows you to examine and modify machine, user, and         enterprise-level code access security policies.)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;b&gt;Here is the command that did the trick!&lt;/b&gt;&lt;br /&gt;     &lt;br /&gt;       caspol -m -ag 1 -url "file://\\ServerName\RemoteContent$\*"           FullTrust -exclusive on           &lt;/span&gt;&lt;/p&gt; &lt;span style="color: rgb(97, 97, 97);"&gt;         &lt;/span&gt;&lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;&lt;b&gt;Here is a couple of troubleshooting           command line items used.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;span style="color: rgb(97, 97, 97);"&gt;         &lt;/span&gt;&lt;ul&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;          &lt;li&gt;caspol -s off  //This turns off CAS            security            &lt;/li&gt;           &lt;li&gt;caspol -s on //This turns on CAS            Security            &lt;/li&gt;           &lt;li&gt;caspol -rs  //Resets CAS security.            &lt;/li&gt;          &lt;/span&gt;&lt;/ul&gt; &lt;span style="color: rgb(97, 97, 97);"&gt;      &lt;/span&gt;&lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;In conclusion, this is just one example of how to setup a website to access content on a remote server.   We would suggest setting up a test environment so you understand the settings before implementing into a production environment.   We used a local user on both servers, if you have a Active Directory Domain available you could use a Domain user vs. a local user.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: rgb(97, 97, 97);"&gt;Reference: http://www.iislogs.com/articles/23/&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4210111871353976773?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4210111871353976773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/how-to-setup-website-to-access-content.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4210111871353976773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4210111871353976773'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/how-to-setup-website-to-access-content.html' title='How to setup a website to access content on a remote NAS server'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-34732279858135120</id><published>2010-01-05T10:58:00.000+07:00</published><updated>2010-01-05T10:59:09.123+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>Forwarding FTP</title><content type='html'>&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; With SSH Secure Shell version 3.0 and above it is possible to easily  forward FTP connections by using a command with the following syntax:  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;ssh2 -L ftp/x:ftpdserver:y username@sshdserver&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;   &lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; FTP forwarding is an extension to the generic port forwarding mechanism. The FTP  control channel can be secured by using generic port forwarding, but since the  FTP protocol requires creating separate TCP connections for the files to be  transferred, all the files would be transferred unencrypted when using generic port  forwarding, as these separate TCP connections would not be forwarded automatically.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; To protect also the transferred files, use FTP forwarding instead. It works  similarly to generic port forwarding, except that the FTP forwarding code  monitors the forwarded FTP control channel and dynamically creates new port  forwardings for the data channels as they are requested. To see exactly how this  is done, two different cases need to be examined: the active mode and the  passive mode of the FTP protocol.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;b&gt;FTP in passive mode&lt;/b&gt;&lt;a name="indexdef-214"&gt;&lt;/a&gt;   &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; In passive mode, the FTP client sends the command 'PASV' to the server, which reacts by opening a listener port for the data channel and sending the IP address and port number of the listener as a reply to the client. The reply is of the form '227 Entering Passive Mode (10,1,60,99,6,12)'.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; When the Secure Shell client notices the reply to the PASV command, it will  create a local port forwarding to the destination mentioned in the reply. After  this the client will rewrite the IP address and port in the reply to point to  the listener of the newly created local port forwarding (which exists always in  a local host address, 127.0.0.1) and pass the reply to the FTP client. The FTP  client will open a data channel based on the reply, effectively tunneling the  data through the SSH connection, to the listener the FTP server has opened. The  net effect is that the data channel is secure all the way except from the Secure  Shell server to the FTP server, if they are on different machines. This sequence  of events happens automatically for every data channel.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; Since the port forwarding is opened to a local host address, the FTP client must be run on the same machine as the Secure Shell client if passive mode is used.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;b&gt;FTP in active mode&lt;/b&gt;&lt;a name="indexdef-215"&gt;&lt;/a&gt;   &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; In active mode, the FTP client creates a listener on a local port, for a data  channel from the FTP server to the FTP client, and requests the channell by  sending the IP address and the port number to the FTP server in a command of the  following form: 'PORT 10,1,60,99,6,12'. The Secure Shell client intercepts this  command and creates a remote port forwarding from the Secure Shell server's  localhost address to the address and port specified in the PORT command.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; After creating the port forwarding, the Secure Shell client rewrites the address  and port in the PORT command to point to the newly opened remote forwarding on  the Secure Shell server and sends it to the FTP server. Now the FTP server will  open a data channel to the address and port in the PORT command, effectively  forwarding the data through the SSH connection. The Secure Shell client passes  the incoming data to the original listener created by the FTP client. The net  effect is that the data channel is secure the whole way except from the Secure  Shell client to the FTP client. This sequence of events happens automatically  for every data channel.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; Since the port forwarding is made to a local host address on the Secure Shell  client machine, the FTP client must be run in the same host as the Secure Shell  client if passive mode is used.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; Where end-to-end encryption of FTP data channels is desired, the FTP server and  Secure Shell server need to reside on the same host, and the FTP client and the Secure Shell client will likewise need to reside on the same host. If this is  the case, both active or passive mode can be used.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;b&gt;Note:&lt;/b&gt; Consider using &lt;code&gt;sftp2&lt;/code&gt; or &lt;code&gt;scp2&lt;/code&gt; instead of FTP  forwarding to secure file transfers. It will require less configuration than FTP  forwarding, since the SSH Secure Shell server already has sftp-server2 as a  subsystem, and sftp2 and scp2 clients are included in the distribution. Managing  remote user restrictions on the server machine will be easier, since you do not  have to do it also for FTP.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;Reference: http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwarding.html&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-34732279858135120?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/34732279858135120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/forwarding-ftp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/34732279858135120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/34732279858135120'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/forwarding-ftp.html' title='Forwarding FTP'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-1308576402909793838</id><published>2010-01-05T10:53:00.005+07:00</published><updated>2010-01-05T10:57:03.883+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>Port Forwarding</title><content type='html'>&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; Port forwarding, or tunneling, is a way to forward otherwise  insecure TCP traffic through SSH Secure Shell. You can secure  for example POP3, SMTP and HTTP connections that would  otherwise be insecure - see Figure &lt;a href="http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwarding.html#FIG-SSH2-TUNNEL-1"&gt;Encrypted SSH2 tunnel&lt;/a&gt;.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;hr /&gt; &lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-1"&gt; &lt;/a&gt;&lt;/span&gt;&lt;center&gt; &lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-1"&gt;&lt;img style="width: 412px; height: 116px;" src="http://www.ssh.com/support/documentation/online/ssh/adminguide/32/tunnel1-1.gif" alt="tunnel1-1.gif" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;center&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-1"&gt;&lt;i&gt;Figure : Encrypted SSH2 tunnel  &lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;/center&gt; &lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;   &lt;/span&gt;&lt;/center&gt; &lt;hr /&gt;   &lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; The client-server applications using the tunnel will carry out their own  authentication procedures, if any, the same way they would without the encrypted  tunnel.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; The protocol/application might only be able to connect to a fixed port  number ( e.g. IMAP 143). Otherwise any available port can be chosen for port  forwarding.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; Privileged ports (below 1024) can be forwarded only with root privileges.&lt;a name="indexdef-203"&gt;&lt;/a&gt;  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;a name="indexdef-204"&gt;&lt;/a&gt; &lt;a name="indexdef-205"&gt;&lt;/a&gt; &lt;a name="indexdef-206"&gt;&lt;/a&gt; &lt;a name="indexdef-207"&gt;&lt;/a&gt; &lt;a name="indexdef-208"&gt;&lt;/a&gt; &lt;a name="indexdef-209"&gt;&lt;/a&gt; &lt;a name="indexdef-210"&gt;&lt;/a&gt;   &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; There are two kinds of port forwarding: local and remote forwarding. They are also called outgoing and incoming tunnels, respectively. Local port forwarding forwards traffic coming to a local port to a specified remote port.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; For example, if you issue the command  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;ssh2 -L 1234:localhost:23 username@host&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;   &lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; all traffic coming to port 1234 on the client will be forwarded to port 23 on  the server (&lt;code&gt;host&lt;/code&gt;). Note that &lt;code&gt;localhost&lt;/code&gt; will be resolved by the  sshdserver after the connection is established. In this case &lt;code&gt;localhost&lt;/code&gt;  therefore refers to the server (&lt;code&gt;host&lt;/code&gt;) itself.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; Remote port forwarding does the opposite: it forwards traffic coming to a remote  port to a specified local port.  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; For example, if you issue the command  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;ssh2 -R 1234:localhost:23 username@host&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;   &lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; all traffic which comes to port 1234 on the server (&lt;code&gt;host&lt;/code&gt;) will be forwarded  to port 23 on the client (&lt;code&gt;localhost&lt;/code&gt;).  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; It is important to realize that if you have three hosts, &lt;code&gt;client&lt;/code&gt;,  &lt;code&gt;sshdserver&lt;/code&gt;, and &lt;code&gt;appserver&lt;/code&gt;, and you forward the traffic coming to the  &lt;code&gt;client&lt;/code&gt;'s port &lt;code&gt;x&lt;/code&gt; to the &lt;code&gt;appserver&lt;/code&gt;'s port &lt;code&gt;y&lt;/code&gt;, only the  connection between the &lt;code&gt;client&lt;/code&gt; and &lt;code&gt;sshdserver&lt;/code&gt; will be secured. See  Figure &lt;a href="http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwarding.html#FIG-SSH2-TUNNEL-2"&gt;Forwarding to a third host&lt;/a&gt;. The  command you use would be something like the following:  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;ssh2 -L x:appserver:y username@sshdserver&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;   &lt;p&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;hr /&gt; &lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-2"&gt; &lt;/a&gt;&lt;/span&gt; &lt;div style="text-align: center;"&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-2"&gt;&lt;img style="width: 412px; height: 90px;" src="http://www.ssh.com/support/documentation/online/ssh/adminguide/32/tunnel2-2.gif" alt="tunnel2-2.gif" /&gt; &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-2"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;center&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-2"&gt;&lt;i&gt;Figure : Forwarding to a third host&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-2"&gt;&lt;i&gt;Reference: http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Port_Forwarding.html&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;a name="FIG-SSH2-TUNNEL-2"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-1308576402909793838?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/1308576402909793838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2010/01/port-forwarding.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/1308576402909793838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/1308576402909793838'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2010/01/port-forwarding.html' title='Port Forwarding'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5695919398121857142</id><published>2009-12-21T20:01:00.000+07:00</published><updated>2009-12-21T20:02:41.236+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>PEAR on Windows reports "Invalid configuration directive"</title><content type='html'>After running go-pear.bat to &lt;a href="http://pear.php.net/manual/en/installation.getting.php"&gt;configure PEAR on a Windows Server&lt;/a&gt; you may encounter the PHP error dialog "Invalid configuration directive".  To correct the issue, modify the file &lt;strong&gt;C:\Program Files (x86)\PHP\pear.bat&lt;/strong&gt;.  Scroll down to the &lt;strong&gt;:RUN&lt;/strong&gt; section and modify the line with the PHP directive "-d include_path":&lt;br /&gt;&lt;br /&gt;Prepend "&lt;strong&gt;.;&lt;/strong&gt;" before "&lt;strong&gt;%PHP_PEAR_INSTALL_DIR%&lt;/strong&gt;", and do not include the quotes.  The section of line will read:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;  "... -d include_path=".;%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEA..."&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Save the file and re-run the "pear" command.&lt;br /&gt;&lt;br /&gt;Reference: http://kb.rackforce.com/?View=entry&amp;amp;EntryID=97&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5695919398121857142?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5695919398121857142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/12/pear-on-windows-reports-invalid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5695919398121857142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5695919398121857142'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/12/pear-on-windows-reports-invalid.html' title='PEAR on Windows reports &quot;Invalid configuration directive&quot;'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-370844245968088518</id><published>2009-12-20T13:22:00.000+07:00</published><updated>2009-12-20T13:23:00.676+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>How to change hostname in Linux</title><content type='html'>run these command&lt;br /&gt;&lt;br /&gt;vi /etc/sysconfig/network&lt;br /&gt;&lt;br /&gt;edit HOSTNAME parameter to your new hostname&lt;br /&gt;ex: HOSTNAME=server1.example.com&lt;br /&gt;&lt;br /&gt;save and restart network and xinetd service with this command&lt;br /&gt;/etc/init.d/network restart&lt;br /&gt;/etc/init.d/xinetd restart&lt;br /&gt;&lt;br /&gt;run this command to change current system's hostname&lt;br /&gt;hostname server1.example.com&lt;br /&gt;&lt;br /&gt;edit file /etc/hosts following&lt;br /&gt;127.0.0.1  server1.example.com server1&lt;br /&gt;&lt;br /&gt;exit shell and re-login to check the result&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-370844245968088518?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/370844245968088518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-change-hostname-in-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/370844245968088518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/370844245968088518'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-change-hostname-in-linux.html' title='How to change hostname in Linux'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5972930331070885219</id><published>2009-12-07T23:04:00.001+07:00</published><updated>2009-12-07T23:06:13.104+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Default Seach Provider corrupt in IE8</title><content type='html'>When you install IE7 or IE8 on winxp sp2 before upgrade windows to sp3, you will can't remove IE7/IE8 by Add and Remove Program.&lt;br /&gt;&lt;br /&gt;If you upgrade IE7 to IE8 on winxp sp3, you may receive following error when you launch IE.&lt;br /&gt;&lt;img style="width: 373px; height: 207px;" src="http://img253.imageshack.us/img253/974/errormj4.jpg" alt="รูปภาพ" /&gt;&lt;br /&gt;&lt;br /&gt;Resolution:&lt;br /&gt;&lt;br /&gt;1. Click Start.&lt;br /&gt;2. Click Run.&lt;br /&gt;3. Type in regedit and press enter.&lt;br /&gt;4. In the registry editor, expand and navigate to the following registry key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders.&lt;br /&gt;5. Right click User Shell Folders.&lt;br /&gt;6. Select New and then Expandable String value.&lt;br /&gt;7. A new value is added in right pane.&lt;br /&gt;8. Type in AppData and press enter.&lt;br /&gt;9. Double click AppData.&lt;br /&gt;10. Under value data type in:&lt;br /&gt;&lt;br /&gt;%USERPROFILE%\Application Data&lt;br /&gt;&lt;br /&gt;11. Note: If there is already AppData in the right pane, double click and correct it to %USERPROFILE%\Application Data&lt;br /&gt;&lt;br /&gt;If the above steps do not work,&lt;br /&gt;1. Click Start.&lt;br /&gt;2. Click Control Panel.&lt;br /&gt;3. Click User Accounts.&lt;br /&gt;4. Click Create a new user account.&lt;br /&gt;5. Choose appropirate name for the new user account.&lt;br /&gt;6. Choose Administrator or Limited or Standard user. It's upto you.&lt;br /&gt;7. Click Create.&lt;br /&gt;8. Click Start, Log out from the current user account and log back in with the new one.&lt;br /&gt;9. If the new user account is working for you, obviously, the old user account has got corrupted and you will have to use the new user account. Also, FYI: you can transfer old user settings and files to the new user account.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5972930331070885219?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5972930331070885219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/12/default-seach-provider-corrupt-in-ie8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5972930331070885219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5972930331070885219'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/12/default-seach-provider-corrupt-in-ie8.html' title='Default Seach Provider corrupt in IE8'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-87215297682236175</id><published>2009-12-07T22:33:00.001+07:00</published><updated>2009-12-07T22:35:38.215+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Repair Internet Explorer 6</title><content type='html'>&lt;p align="left"&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;A number of XP users     have reported situations with Internet Explorer 6 becoming corrupted     and reporting a number of different errors. While there is certainly     no guarantee, the two procedures listed below have restored     functionality to IE6 for many users experiencing problems.&lt;/span&gt;&lt;/p&gt;             &lt;p style="text-align: left;"&gt;&lt;span style="color: rgb(204, 51, 0);font-family:Tahoma;font-size:85%;"  &gt;    Note:     Both methods listed require that the Microsoft Windows XP CD-ROM be     available.&lt;/span&gt;&lt;/p&gt;             &lt;p&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;b&gt;Method 1: &lt;/b&gt;&lt;b class="label"&gt;    Microsoft Internet Explorer 6.x Repair for Windows XP&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;             &lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;From the &lt;b class="menutitle"&gt;     Start&lt;/b&gt;                  menu, select &lt;b&gt; &lt;span class="menuitem"&gt;Run&lt;/span&gt;&lt;/b&gt;.&lt;/span&gt;                  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;In the &lt;b class="sysentity"&gt;     Open&lt;/b&gt;                  field, type &lt;span class="typechar"&gt;sfc /scannow&lt;/span&gt;&lt;/span&gt;                  (Note: There is a space between sfc and /scannow)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;Select the &lt;b class="sysentity"&gt;     OK&lt;/b&gt;                  button.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;Follow the prompts throughout the                  &lt;b&gt;System File Checker&lt;/b&gt; process.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;Reboot the      computer when &lt;b class="sysentity"&gt;System File Checker&lt;/b&gt;      completes.&lt;/span&gt;                  &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;             &lt;p&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;b&gt;Method 2: &lt;/b&gt;&lt;b class="label"&gt;    Microsoft Internet Explorer 6.x Repair for Windows XP&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;             &lt;ul&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;From the &lt;b class="menutitle"&gt;     Start&lt;/b&gt;                  menu, select &lt;b&gt; &lt;span class="menuitem"&gt;Search&lt;/span&gt;&lt;/b&gt;,      select                  &lt;b&gt;&lt;span class="menuitem"&gt;All Files and Folders&lt;/span&gt;&lt;/b&gt;.&lt;/span&gt;                  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;Select &lt;b class="sysentity"&gt;     More Advanced Options&lt;/b&gt; and place a checkmark beside &lt;b class="sysentity"&gt;     Search Hidden Files and Folders&lt;/b&gt; option.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;Ensure that &lt;b&gt;Search System      Folders&lt;/b&gt;                  and &lt;b&gt;Search Subfolders&lt;/b&gt; are also checked.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;In the &lt;b class="sysentity"&gt;     All or Part of the File Name &lt;/b&gt;box, type &lt;span class="typechar"&gt;     ie.inf&lt;/span&gt;&lt;/span&gt;                  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;In the &lt;b class="menutitle"&gt;     Look In&lt;/b&gt; drop-down menu, select &lt;span class="menuitem"&gt;C:&lt;/span&gt;                  or the letter of the hard drive that contains the &lt;b class="sysentity"&gt;     Windows&lt;/b&gt;                  folder.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;Click the &lt;b class="sysentity"&gt;     Search                  &lt;/b&gt;button.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;In the search      results pane, find the &lt;b class="sysentity"&gt;ie.inf&lt;/b&gt; file      located in &lt;b class="sysentity"&gt; Windows\Inf&lt;/b&gt; folder.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;Right click      the &lt;b class="sysentity"&gt;ie.inf&lt;/b&gt; file and click &lt;b&gt;&lt;span class="menuitem"&gt;     Install&lt;/span&gt;&lt;/b&gt;                  on the context menu.&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;&lt;span class="list"&gt;Reboot the      computer when the file copy process is complete.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Reference: http://www.theeldergeek.com/repair_ie6.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-87215297682236175?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/87215297682236175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/12/repair-internet-explorer-6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/87215297682236175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/87215297682236175'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/12/repair-internet-explorer-6.html' title='Repair Internet Explorer 6'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-1675220657086573766</id><published>2009-12-04T15:51:00.000+07:00</published><updated>2009-12-04T15:52:34.201+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>How to Truncate Log File in SQL Server 2005</title><content type='html'>&lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;SQL Server 2005 is quite different from SQL Server 2000. To truncate log file is one thing which is different from SQL Server 2000. In SQL Server 2000, you just use Shrink to whatever file size you like. In SQL Server 2005, sometimes I cannot shrink the log file at all. &lt;/p&gt;  &lt;p&gt;Here I want to describe some tricks to truncate log file for a database in SQL Server 2005. The work environment is Microsoft SQL Server Management Studio.&lt;/p&gt;  &lt;h3&gt;I. Shrink the Log File Size at the Right Time&lt;/h3&gt;  &lt;p&gt;I found out this trick: &lt;/p&gt;  &lt;p&gt;Immediately after I use the SSIS package or Import the data to the database (&lt;strong&gt;highlight the database-&gt;Tasks-&gt;Import data …&lt;/strong&gt;), or Export the data from the database (&lt;strong&gt;highlight the database-&gt;Tasks-&gt;Export data …&lt;/strong&gt;), I can shrink the log file to the desired size, for example, 1MB. That is, &lt;strong&gt;highlight the database-&gt;Tasks-&gt;Shrink-&gt;Files&lt;/strong&gt; , set the file size, say, 1MB.&lt;/p&gt;  &lt;p&gt;Then, click OK and you are done.&lt;/p&gt;  &lt;h3&gt;II. Eliminate the Log File Completely&lt;/h3&gt;  &lt;p&gt;Sometimes, we just do not need the big log file. For example, I have a 40GB log file. I am sure I do not need this log file and want to get rid of it completely to free up the hard drive space. The logic is:&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;Detach the database &lt;/li&gt;&lt;li&gt;Rename the log file &lt;/li&gt;&lt;li&gt;Attach the database without the log file &lt;/li&gt;&lt;li&gt;Delete the log file &lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;Let’s say, the database name is &lt;code&gt;testDev&lt;/code&gt;. In the SQL Server Management Studio, &lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;strong&gt;Highlight the database-&gt; Tasks-&gt;Detach..-&gt; Click OK &lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Go to log file folder -&gt; rename&lt;/strong&gt; the &lt;em&gt;testDev_log.ldf&lt;/em&gt; to be like &lt;em&gt;testDev_log-aa.ldf&lt;/em&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Highlight Databases-&gt;Attach…-&gt; Click Add -&gt;&lt;/strong&gt; add the database &lt;code&gt;testDev&lt;/code&gt;, highlight the log file and click the ‘&lt;strong&gt;Remove’&lt;/strong&gt; button. This means you only attach &lt;em&gt;testDev.mdf&lt;/em&gt; &lt;/li&gt;&lt;li&gt;After this is done, you can verify the contents of the attached database and then &lt;strong&gt;delete&lt;/strong&gt; the log file&lt;/li&gt;&lt;/ol&gt;  &lt;p&gt;This way we can safely delete the log file and free up the space.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Reference Site: http://www.codeproject.com/KB/database/truncate_log_SQL_server.aspx&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/1971318307217572208-1675220657086573766?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/1675220657086573766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-truncate-log-file-in-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/1675220657086573766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/1675220657086573766'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-truncate-log-file-in-sql-server.html' title='How to Truncate Log File in SQL Server 2005'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-3967999708305363004</id><published>2009-12-03T17:36:00.001+07:00</published><updated>2009-12-03T17:37:33.612+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>How to clear log and shrink database in MSSQL with transaction-sql</title><content type='html'>run this command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;backup log databasename with no_log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;backup log databasename with truncate_only&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;dbcc shrinkdatabase(databasename,1)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-3967999708305363004?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/3967999708305363004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-clear-log-and-shrink-database-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3967999708305363004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3967999708305363004'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-clear-log-and-shrink-database-in.html' title='How to clear log and shrink database in MSSQL with transaction-sql'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2028904060051240391</id><published>2009-12-03T17:33:00.002+07:00</published><updated>2009-12-03T17:34:41.968+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>How to check all database size in MSSQL</title><content type='html'>run this command in Management Studio&lt;br /&gt;# exec sp_databases&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2028904060051240391?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2028904060051240391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-check-all-database-size-in-mssql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2028904060051240391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2028904060051240391'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/12/how-to-check-all-database-size-in-mssql.html' title='How to check all database size in MSSQL'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5789149940388504759</id><published>2009-11-29T22:50:00.003+07:00</published><updated>2009-11-29T23:02:01.850+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Exception Details: System.Data.SqlClient.SqlException: Invalid object name 'tablename'</title><content type='html'>&lt;b&gt;Symptom&lt;br /&gt;Exception Details: &lt;/b&gt;System.Data.SqlClient.SqlException: Invalid object name 'dbo.Events'.&lt;br /&gt;Invalid object name 'dbo.Locations'.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Source Error:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#ffffcc"&gt;  &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;p&gt;&lt;code&gt;An unhandled exception was generated during the execution of the&lt;br /&gt;current web request. Information regarding the origin and location&lt;br /&gt;of the exception can &lt;/code&gt;&lt;code&gt;be identified using the exception stack trace below.&lt;/code&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cause&lt;/span&gt;&lt;br /&gt;Default schema is mismatch or no table with such name.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution&lt;/span&gt;&lt;br /&gt;Change default schema for the login username to schema that is table schema.&lt;br /&gt;Check table if exists.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5789149940388504759?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5789149940388504759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/11/exception-details-systemdatasqlclientsq.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5789149940388504759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5789149940388504759'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/11/exception-details-systemdatasqlclientsq.html' title='Exception Details: System.Data.SqlClient.SqlException: Invalid object name &apos;tablename&apos;'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4368381065486455230</id><published>2009-11-20T16:50:00.001+07:00</published><updated>2010-07-16T18:10:10.254+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>คำสั่งใน sun solaris ที่ใช้แทนคำสั่ง yum หรือ apt-get</title><content type='html'>Instructions for Solaris package installation from Solaris Blastwave (CSW packages) site:&lt;br /&gt;&lt;br /&gt;Run the following command for Solaris 10/Open Solaris (Intel and Sparc platforms)&lt;br /&gt;&lt;br /&gt;pkgadd -d &lt;!-- m --&gt;&lt;a class="postlink" href="http://blastwave.network.com/csw/pkgutil_"&gt;http://blastwave.network.com/csw/pkgutil_&lt;/a&gt;&lt;!-- m --&gt;`/sbin/uname -p`.pkg&lt;br /&gt;&lt;br /&gt;The above command will install CSWpkgutil package. This command can be used to install Solaris dependencies and indirect dependencies.&lt;br /&gt;&lt;br /&gt;For example: The command below will install curl and its dependencies&lt;br /&gt;&lt;br /&gt;# /opt/csw/bin/pkgutil --install curl&lt;br /&gt;&lt;br /&gt;For more information about using pkgutil, click &lt;a href="http://www.blastwave.org/howto.html" class="postlink"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4368381065486455230?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4368381065486455230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/11/sun-solaris-yum-apt-get.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4368381065486455230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4368381065486455230'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/11/sun-solaris-yum-apt-get.html' title='คำสั่งใน sun solaris ที่ใช้แทนคำสั่ง yum หรือ apt-get'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-8145855636354174896</id><published>2009-11-03T16:47:00.000+07:00</published><updated>2009-11-03T16:53:34.402+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSSQL'/><title type='text'>Limiting views on shared SQL server installations</title><content type='html'>&lt;p&gt; For shared SQL Server installations, SSMS will allow all customers to see the names of other databases. You can change that default behavior with a SQL Server 2005 configuration change. &lt;/p&gt; &lt;p&gt;To do so, on your SQL 2005 servers, revoke "View Any Database" from public. Then, customers of a shared server, will only see their database, provided you've made the customer the owner of the database. An easy way to do this is with the stored procedure sp_changedbowner or with Alter Database. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-8145855636354174896?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/8145855636354174896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/11/limiting-views-on-shared-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8145855636354174896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/8145855636354174896'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/11/limiting-views-on-shared-sql-server.html' title='Limiting views on shared SQL server installations'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2248247581310071016</id><published>2009-10-27T15:00:00.004+07:00</published><updated>2009-11-28T12:06:26.303+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>ext4 filesystem</title><content type='html'>&lt;p&gt; &lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;1. Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; วิวัฒนาการมาจากระบบไฟล์ของลีนุกซ์ที่ได้รับความนิยมมากที่สุดก็คือ &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3 &lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; นั้นมีจุดเด่นก็คือระบบไฟล์แบบ &lt;a href="http://en.wikipedia.org/wiki/Journaling_file_system" target="_blank" title="http://en.wikipedia.org/wiki/Journaling_file_system"&gt;Journaling&lt;/a&gt; ที่เพิ่มเข้าไปใน &lt;a href="http://en.wikipedia.org/wiki/Ext2" target="_blank" title="http://en.wikipedia.org/wiki/Ext2"&gt;Ext2&lt;/a&gt;&lt;br /&gt;แต่ &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ได้ปรับปรุงแก้ไขส่วนสำคัญในเรื่องของโครงสร้างของระบบไฟล์ อย่างเช่น&lt;br /&gt;ได้มีการกำหนดพื้นที่ที่เก็บข้อมูลไฟล์ไว้ล่วงหน้า ทำให้ระบบไฟล์มีการจัดสรรพื้นที่เก็บข้อมูลที่ดีขึ้น&lt;br /&gt;ประสิทธิภาพมากขึ้นรวมทั้งความน่าเชื่อถือและคุณสมบัติที่ดีขึ้นอีกด้วย &lt;/p&gt; &lt;p class="blockquote"&gt; Note :&lt;br /&gt;1. &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ถูกนำมาใช้ใน kernel 2.6.28&lt;br /&gt;2. &lt;a href="http://en.wikipedia.org/wiki/Journaling_file_system" target="_blank" title="http://en.wikipedia.org/wiki/Journaling_file_system"&gt;Journaling&lt;/a&gt; หมายถึง เมื่อข้อมูลในระบบเสียหาย ไม่ต้องมีการใช้คำสั่ง &lt;a href="http://en.wikipedia.org/wiki/Fsck" target="_blank" title="http://en.wikipedia.org/wiki/Fsck"&gt;fsck &lt;/a&gt;&lt;br /&gt;เพื่อตรวจสอบและซ่อมแซมแฟ้มข้อมูลนั้น เพราะว่าการทำงานของ &lt;a href="http://en.wikipedia.org/wiki/Journaling_file_system" target="_blank" title="http://en.wikipedia.org/wiki/Journaling_file_system"&gt;journaling &lt;/a&gt;&lt;br /&gt;นั้นจะมีการกู้แฟ้มข้อมูลที่เสียหายขึ้นมาให้โดยอัติโนมัติ&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt; &lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;2. EXT4 features&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.1 Large file system/file sizes&lt;/span&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; รองรับพื้นที่ได้มากสุด 16 TB และขนาดของไฟล์ใหญ่ที่สุด 2 TB&lt;br /&gt;แต่ &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ได้มีการเพิ่ม  block address เป็นขนาด 48-bit&lt;br /&gt;ทำให้สามารถรองรับพื้นที่ได้ถึง 1 EB (= 1,048,576 TB)และขนาดของไฟล์ใหญ่ที่สุด 16 TB&lt;br /&gt;&lt;/p&gt; &lt;p class="blockquote"&gt; 1 EB = 1024 PB&lt;br /&gt;1 PB = 1024 TB&lt;br /&gt;1 TB = 1024 GB&lt;br /&gt;&lt;/p&gt;    แล้วเขายังตั้งคำถามต่ออีกว่า ทำไมไม่เป็น 64bit หละ?&lt;br /&gt;เขาบอกว่ามันมีข้อจำกัดอยู่ซึ่งถ้าเป็นขนาด 64 bit แล้วจะมี address บางส่วนหายไป&lt;br /&gt;ซึ่งผมลองคำนวณดูว่า &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ขนาด 64bit นี้จะพื้นที่มากถึง 74,000EB เลยที่เดียว&lt;br /&gt;&lt;p class="blockquote"&gt; Note :&lt;br /&gt;ขนาดของบล็อค(block size) ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; เท่ากับ  4KB&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.2 Sub Directory&lt;/span&gt;&lt;br /&gt;ใน &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; มีไดเรกทอรีย่อย 32,000 ไดเรกทอรีย่อย&lt;br /&gt;แต่ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; สามารถมีไดเรกทอรีย่อยได้ถึง 64,000 ไดเรกทอรีย่อย&lt;br /&gt;&lt;p class="blockquote"&gt; Note :&lt;br /&gt;ตรงนี้บาง&lt;a href="http://www.phoronix.com/scan.php?page=article&amp;amp;item=ext4_benchmarks&amp;amp;num=1" target="_blank" title="http://www.phoronix.com/scan.php?page=article&amp;amp;item=ext4_benchmarks&amp;amp;num=1"&gt;แหล่งอ้างอิง&lt;/a&gt;บอกว่ามีได้ถึง 640,000 หรือ&lt;a href="http://kernelnewbies.org/Ext4" target="_blank" title="http://kernelnewbies.org/Ext4"&gt;บางแหล่ง&lt;/a&gt;บอกว่ามีได้ไม่จำกัด&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.3 Extents&lt;/span&gt; (การเขียนไฟล์แบบใหม่ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt;)&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Extent_%28file_systems%29" target="_blank" title="http://en.wikipedia.org/wiki/Extent_(file_systems)"&gt;Extents&lt;/a&gt; เป็นการเขียนไฟล์แบบใหม่ที่เพิ่มเข้ามาใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; แทนที่ &lt;a href="http://en.wikipedia.org/wiki/Block_%28data_storage%29" target="_blank" title="http://en.wikipedia.org/wiki/Block_(data_storage)"&gt;block mapping&lt;/a&gt; ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext3&lt;/a&gt;&lt;br /&gt;ซึ่ง &lt;a href="http://en.wikipedia.org/wiki/Extent_%28file_systems%29" target="_blank" title="http://en.wikipedia.org/wiki/Extent_(file_systems)"&gt;Extents&lt;/a&gt; จะมีการจองพื้นที่ที่อยู่ติดกัน ก่อนที่จะเขียนไฟล์&lt;br /&gt;ทำให้ไฟล์ที่มีขนาดใหญ่มีประสิทธิภาพมากขึ้นและช่วยลดการกระจายของข้อมูล&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.4 Multiblock allocation&lt;/span&gt;&lt;br /&gt;ใน &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; เวลาที่มีการเขียนไฟล์ก็จะมีการจัดสรรพื้นที่ทีละบล็อค (only allocates one block)&lt;br /&gt;ในแต่ละครั้งที่เขียนลงไฟล์ ก็คือว่าถ้ามีการเขียนไฟล์ขนาด 100MB&lt;br /&gt;ก็จะมีการจัดสรรบล็อคในการเขียนไฟล์ 25,600 ครั้ง  (block size = 4KB)&lt;br /&gt;แต่ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ใช้ "multiblock allocator" (mballoc) ซึ่งจะมีการจัดสรรบล็อกได้ทีละหลายๆบล็อค&lt;br /&gt;ในการเรียกเขียนไฟล์ใน1ครั้ง&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.5 delayed allocation&lt;/span&gt;&lt;br /&gt;ในระบบไฟล์แบบเก่าจะมีการการจัดสรรพื้นที่ของบล็อคโดยทันทีเพื่อให้ข้อมูลถูกเขียนลงดิสก์&lt;br /&gt;แต่ในบางครั้งข้อมูลอาจจะถูกเก็บไว้ที่&lt;a href="http://en.wikipedia.org/wiki/Cache" target="_blank" title="http://en.wikipedia.org/wiki/Cache"&gt;แคช&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/Cache" target="_blank" title="http://en.wikipedia.org/wiki/Cache"&gt;cache&lt;/a&gt;)&lt;br /&gt;ไม่ได้ถูกเขียนลงดิสก์จริงๆ มันก็จะเสียเวลาไปกับการ จัดสรรพื้นที่ของบล็อคไป&lt;br /&gt;&lt;br /&gt;ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ใช้เทคนิคที่เรียกว่า &lt;a href="http://en.wikipedia.org/wiki/Allocate-on-flush" target="_blank" title="http://en.wikipedia.org/wiki/Allocate-on-flush"&gt;allocate-on-flush&lt;/a&gt; หรือที่รู้จักกันในชื่อ delayed allocation&lt;br /&gt;ซึ่งวิธีของ delayed allocation นี้ ถ้าเกิดมีการเขียนไฟล์ขึ้นมามันจะยังไม่จัดสรรพื้นที่ของบล็อคที่จะเขียนโดยทันที&lt;br /&gt;จนกว่าข้อมูลนั้นจะถูกเขียนลงดิสก์จริงๆ จึงจะมีการจัดสรรพื้นที่ของบล็อค&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.6 Faster file system checking &lt;/span&gt;(Fast &lt;a href="http://en.wikipedia.org/wiki/Fsck" target="_blank" title="http://en.wikipedia.org/wiki/Fsck"&gt;fsck&lt;/a&gt;)&lt;br /&gt;เพิ่มความเร็วในการตรวจสอบและซ่อมแซมแฟ้มข้อมูลของระบบไฟล์&lt;br /&gt;เหมือนกับ &lt;a href="http://en.wikipedia.org/wiki/Scandisk" target="_blank" title="http://en.wikipedia.org/wiki/Scandisk"&gt;Scandisk&lt;/a&gt; บน window&lt;br /&gt;&lt;img style="width: 388px; height: 278px;" src="http://tonhor.exteen.com/images/images/ext4/e2fsck.jpg" alt="" /&gt;&lt;br /&gt;&lt;div align="center"&gt; &lt;span style="color: rgb(153, 153, 153);font-size:78%;" &gt;(ภาพจาก &lt;a href="http://kerneltrap.org/Linux/Improving_fsck_Speeds_in_Ext4" target="_blank" title="http://kerneltrap.org/Linux/Improving_fsck_Speeds_in_Ext4"&gt;kerneltrap.org&lt;/a&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.7 Compatibility&lt;/span&gt;&lt;br /&gt;ในระบบไฟล์ &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; สามารถเปลี่ยนไปเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ด้วยวิธีง่ายๆเพียงแค่ 2 คำสั่ง&lt;br /&gt;คือ tune2fs และ &lt;a href="http://en.wikipedia.org/wiki/Fsck" target="_blank" title="http://en.wikipedia.org/wiki/Fsck"&gt;fsck&lt;/a&gt; (จะกล่าวถึงในหัวข้อที่ 3.2) นั่นก็หมายความว่าเราสามารถเพิ่มประสิทธิภาพ&lt;br /&gt;เรื่องข้อจำกัดของพื้นที่ในการเก็บข้อมูล และคุณสมบัติที่เพิ่มขึ้นในระบบไฟล์ของเรา&lt;br /&gt;โดยไม่ต้อง reformatting และ/หรือ reinstalling โปรแกรมและระบบปฏิบัติการ&lt;br /&gt;&lt;br /&gt;และเขายังบอกอีกว่า เราสามารถอัพเกรดระบบไฟล์โดยที่ไม่ต้องเสี่ยงกับข้อมูลที่สูญหาย&lt;br /&gt;(แต่เขาวงเล็บไว้ว่า "เพื่อความแน่ใจก็ควรจะ &lt;a href="http://en.wikipedia.org/wiki/Backup" target="_blank" title="http://en.wikipedia.org/wiki/Backup"&gt;backup&lt;/a&gt; ข้อมูลสำคัญๆไว้แม้ว่าจะไม่ได้อัพเกรดระบบไฟล์ก็ตาม")&lt;br /&gt;&lt;br /&gt;ตรงนี้สำคัญ : เมื่อเราเปลี่ยนระบบไฟล์จาก &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; ไปเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ด้วยวิธีข้างต้นนี้ ครั้งหนึ่งแล้ว&lt;br /&gt;เราจะไม่สามารถเปลี่ยนระบบไฟล์กลับไปเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; ได้เนื่องจาก &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; มีโครงสร้างของระบบไฟล์แบบใหม่&lt;br /&gt;ถ้าเราเปลี่ยนกลับไปเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; ระบบจะแจ้งเตือนว่า  "wrong fs type"&lt;br /&gt;(แต่เราสามารถเปลี่ยนระบบไฟล์กลับมาเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; ได้อีกครั้งหนึ่งด้วยวิธี &lt;a href="http://en.wikipedia.org/wiki/Mount_%28Unix%29" target="_blank" title="http://en.wikipedia.org/wiki/Mount_(Unix)"&gt;mount&lt;/a&gt; จะกล่าวถึงในหัวข้อที่ 3.3)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.8 Improved timestamps&lt;/span&gt;&lt;br /&gt;แก้ปัญหา &lt;a href="http://en.wikipedia.org/wiki/Year_2038_problem" target="_blank" title="http://en.wikipedia.org/wiki/Year_2038_problem"&gt;Year 2038 problem&lt;/a&gt; ด้วยการเพิ่มไปอีก 2 bit ที่ timestamp field&lt;br /&gt;ทำให้ขยายเวลาไปอีกกว่า 500 ปี&lt;br /&gt;&lt;div style="text-align: center;"&gt; &lt;img src="http://tonhor.exteen.com/images/images/ext4/Year_2038_problem.gif" alt="" /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:78%;" &gt;(ภาพแสดงปัญหาปี 2038) &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.9 Persistent preallocation&lt;/span&gt;&lt;br /&gt;คุณสมบัตินี้ผมขออธิบายง่ายๆด้วยการไปเปรียบเทียบกับบน window นะครับ&lt;br /&gt;ก็คือให้นึกถึงเวลาที่เราโหลดบิต (&lt;a href="http://en.wikipedia.org/wiki/Peer-to-peer" target="_blank" title="http://en.wikipedia.org/wiki/Peer-to-peer"&gt;P2P applications&lt;/a&gt;) แม้ว่าเราจะโหลดไฟล์ยังไม่เสร็จก็ตาม&lt;br /&gt;สมมติว่าโหลดไป 20% แต่การจองพื้นที่สำหรับการเขียนไฟล์ก็จองไป 100%&lt;br /&gt;ซึ่งตรงนี้เป็นการจองพื้นที่แบบถาวรแม้ว่าเราจะปิดเครื่องไปแล้วมาโหลดต่ออีกวันหนึ่งก็ตาม&lt;br /&gt;ใน &lt;a href="http://en.wikipedia.org/wiki/Linux" target="_blank" title="http://en.wikipedia.org/wiki/Linux"&gt;linux&lt;/a&gt; ก็เหมือนกันตรงนี้จะมาช่วยลดการกระจายของข้อมูล&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.10 Online defragmentation&lt;/span&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;(คุณสมบัตินี้กำลังอยู่ในช่วงพัฒนาและจะมาเพิ่มในอนาคต)&lt;/span&gt;&lt;br /&gt;ถึงจะมี delayed allocation, &lt;a href="http://en.wikipedia.org/wiki/Extent_%28file_systems%29" target="_blank" title="http://en.wikipedia.org/wiki/Extent_(file_systems)"&gt;extents&lt;/a&gt; และ multiblock allocation มาช่วยในการลดกระจายของข้อมูล&lt;br /&gt;แต่บางทีก็ยังเกิดการกระจายของข้อมูลได้อยู่ ตรงนี้เขาเปรียบเทียบให้ดูว่า&lt;br /&gt;ถ้าเราเขียนไฟล์ขึ้นมา 3 ไฟล์ลงบนดิสก์ แล้ววันหนึ่งต่อมาเรามาแก้ไขไฟล์ที่อยู่ตรงกลาง&lt;br /&gt;แต่การแก้ไขนี้มันไปเพิ่มขนาดหรือจำนวนบิต ทำให้พื้นที่ตรงนั้นไม่พอ ไฟล์ที่เราแก้ไขจึงต้องไปอยู่อีกที่หนึ่ง&lt;br /&gt;ซึ่งไม่อยู่ติดกับที่เหลืออีก 2ไฟล์เดิม&lt;br /&gt;&lt;br /&gt;เพื่อแก้ไขปัญหานี้ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; จึงมี e4defrag tool&lt;br /&gt;ซึ่งสามารถจัดระเบียบของข้อมูลเฉพาะของไฟล์นั้นๆ หรือทั้งระบบก็ได้&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2.11 Inode-related features&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  Larger inodes : เพิ่มขนาดของ inode เป็น 256 bytes ( จากของเดิม 128 bytes ใน &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; )&lt;br /&gt;เพื่อรองรับการเก็บ &lt;a href="http://en.wikipedia.org/wiki/Timestamp" target="_blank" title="http://en.wikipedia.org/wiki/Timestamp"&gt;timestamps&lt;/a&gt; แบบ &lt;a href="http://en.wikipedia.org/wiki/Nanosecond" target="_blank" title="http://en.wikipedia.org/wiki/Nanosecond"&gt;Nanoseconds&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Inode reservation : เพิ่มการจองให้ &lt;a href="http://en.wikipedia.org/wiki/Inode" target="_blank" title="http://en.wikipedia.org/wiki/Inode"&gt;inode&lt;/a&gt; เมื่อมีการสร้าง Directory (คาดว่าจะมีใช้ในอนาคต)&lt;br /&gt;เมื่อมีการสร้างไฟล์ใหม่ขึ้นมาใน Directory ระบบก็จะสามารถใช้ inode ตรงส่วนที่ถูกจองไว้ได้เลย&lt;/li&gt;&lt;li&gt;Nanoseconds timestamps : ที่  inode fields ในส่วนของ modified time จะเก็บ &lt;a href="http://en.wikipedia.org/wiki/Timestamp" target="_blank" title="http://en.wikipedia.org/wiki/Timestamp"&gt;timestamps&lt;/a&gt;&lt;br /&gt;ในหน่วย &lt;a href="http://en.wikipedia.org/wiki/Nanosecond" target="_blank" title="http://en.wikipedia.org/wiki/Nanosecond"&gt;nanosecond&lt;/a&gt; แทนที่หน่วย &lt;a href="http://en.wikipedia.org/wiki/Second" target="_blank" title="http://en.wikipedia.org/wiki/Second"&gt;second&lt;/a&gt; ใน &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext3&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p class="blockquote"&gt; &lt;a href="http://en.wikipedia.org/wiki/Inode" target="_blank" title="http://en.wikipedia.org/wiki/Inode"&gt;Inode&lt;/a&gt; จะเก็บรายละเอียดต่างๆของไฟล์ เช่น&lt;br /&gt;• การแสดงสิทธิต่าง ๆ ของไฟล์&lt;br /&gt;• การบอกถึงชนิดของไฟล์&lt;br /&gt;• แสดงถึงเจ้าของและกลุ่มเจ้าของไฟล์&lt;br /&gt;• วันเวลาที่สร้างไฟล์ เปลี่ยนแปลงไฟล์ หรือการเข้าถึงไฟล์ (access file)&lt;br /&gt;• จำนวนการเชื่อมโยงของไฟล์เชื่อมโยง&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;3. How to use Ext4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;3.1 Creating a new Ext4 filesystem &lt;/span&gt;&lt;br /&gt;&lt;p class="command"&gt; $ mkfs -t ext4 /dev/filesystem&lt;br /&gt;&lt;/p&gt;    Or&lt;br /&gt;&lt;p class="command"&gt; $ mkfs.ext4 /dev/filesystem&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;3.2 Migrate existing Ext3 filesystems to Ext4&lt;/span&gt;&lt;br /&gt;ในการอัพเกรดระบบไฟล์จาก &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; ไปเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; เราใช้เพียง 2 คำสั่งคือ tune2fs and &lt;a href="http://en.wikipedia.org/wiki/Fsck" target="_blank" title="http://en.wikipedia.org/wiki/Fsck"&gt;fsck&lt;/a&gt;&lt;br /&gt;แล้วก่อนทำอย่าลืม umount filesystem ก่อนนะครับ&lt;br /&gt;&lt;p class="command"&gt; tonhor@ubuntu:~# tune2fs -O extents,uninit_bg,dir_index /dev/filesystem&lt;br /&gt;&lt;/p&gt; &lt;p class="blockcode"&gt; tune2fs 1.41.4 (27-Jan-2009)&lt;br /&gt;Please run e2fsck on the filesystem.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class="command"&gt; tonhor@ubuntu:~# fsck -pDf  /dev/filesystem&lt;br /&gt;&lt;/p&gt; &lt;p class="blockcode"&gt; fsck 1.41.4 (27-Jan-2009)&lt;br /&gt;/dev/sdb1: Group descriptor 0 checksum is invalid.  FIXED.&lt;br /&gt;/dev/sdb1: Group descriptor 1 checksum is invalid.  FIXED.&lt;br /&gt;/dev/sdb1: Group descriptor 2 checksum is invalid.  FIXED.&lt;br /&gt;/dev/sdb1: Group descriptor 3 checksum is invalid.  FIXED.&lt;br /&gt;/dev/sdb1: Group descriptor 4 checksum is invalid.  FIXED.&lt;br /&gt;[..]&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;3.3 Mount an existing Ext3 filesystem with Ext4 without changing the format&lt;/span&gt;&lt;br /&gt;ถ้าเราต้องการให้ระบบไฟล์ของเราเปลี่ยนจาก &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; เป็น &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; แล้วสามารถเปลี่ยนกลับมาเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; ได้อีก&lt;br /&gt;เราสามารถใช้การ mount ระบบไฟล์ &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; เป็น &lt;a href="http://en.wikipedia.org/wiki/Ext4" target="_blank" title="http://en.wikipedia.org/wiki/Ext4"&gt;Ext4&lt;/a&gt; ได้&lt;br /&gt;&lt;p class="command"&gt; tonhor@ubuntu:~# mount -t ext4 /dev/filesystem /mnt/ext3&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;และเปลี่ยนระบบไฟล์กลับมาเป็น &lt;a href="http://en.wikipedia.org/wiki/Ext3" target="_blank" title="http://en.wikipedia.org/wiki/Ext3"&gt;Ext3&lt;/a&gt; อีกครั้งด้วยการ mount&lt;br /&gt;tonhor@ubuntu:~# mount -t ext3 /dev/filesystem /mnt/ext3&lt;br /&gt;&lt;br /&gt;ที่มา: http://tonhor.exteen.com/20090502/what-is-ext4-ext4&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2248247581310071016?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2248247581310071016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/10/ext4-filesystem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2248247581310071016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2248247581310071016'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/10/ext4-filesystem.html' title='ext4 filesystem'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-2780750058948906040</id><published>2009-10-13T19:55:00.000+07:00</published><updated>2009-11-28T12:06:26.303+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux/Unix'/><title type='text'>Ext3 – Reserved blocks percentage</title><content type='html'>&lt;strong&gt;Get back your missing unused disk space&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;According to tune2fs manual, reserved blocks are designed to keep your system from failing when you run out of space. Its reserves space for privileged processes such as daemons (like syslogd, for ex.) and other root level processes; also the reserved space can prevent the filesystem from fragmenting as it fills up. By default this is 5% regardless of the size of the partition.&lt;br /&gt;&lt;br /&gt;On large partitions (250GB drives and up are quite common these days), the default 5% reserved space can be quite a lot (12.5Gb in my example). For ext3 partitions you can tune this parameter by using tune2fs with the parameter -m. For ex. to decrease this to 3% you would run (for ex. on /dev/sda1):&lt;br /&gt;tune2fs -m 3 /dev/sda1&lt;br /&gt;You should be very careful when ‘playing’ with this parameter and be sure you know what you are doing before changing this value.&lt;br /&gt;&lt;br /&gt;ที่มา: &lt;!-- m --&gt;&lt;a class="postlink" href="http://www.ducea.com/2008/03/04/ext3-reserved-blocks-percentage/"&gt;http://www.ducea.com/2008/03/04/ext3-re ... ercentage/&lt;/a&gt;&lt;!-- m --&gt;&lt;br /&gt;ที่มา: &lt;!-- m --&gt;&lt;a class="postlink" href="http://ubuntuforums.org/archive/index.php/t-1060160.html"&gt;http://ubuntuforums.org/archive/index.p ... 60160.html&lt;/a&gt;&lt;!-- m --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-2780750058948906040?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/2780750058948906040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/10/ext3-reserved-blocks-percentage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2780750058948906040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/2780750058948906040'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/10/ext3-reserved-blocks-percentage.html' title='Ext3 – Reserved blocks percentage'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6849207325724435996</id><published>2009-10-03T20:28:00.007+07:00</published><updated>2009-10-03T20:49:39.415+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Free Antivirus จาก Microsoft</title><content type='html'>รายงานข่าวล่าสุด ไมโครซอฟท์ (Microsoft) ยืนยันว่า จะเริ่มเปิดให้ดาวน์โหลดฟรี!!! สำหรับซอฟต์แวร์ "แอนตี้ไวรัส" (เวอร์ชันสมบูรณ์) ของทางบริษัทภายในวันนี้ หลังจากที่ได้ออกเวอร์ชันทดสอบให้ลองใช้มาตั้งแต่เดือนมิถุนายนที่ผ่านมา&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://www.microsoft.com/security_essentials/" target="_blank"&gt;Microsoft Security Essentials&lt;/a&gt;&lt;/strong&gt; เป็นซอฟต์แวร์แอนตี้ไวรัสของไมโครซอฟท์ที่เปิดให้ผู้ใช้สามารถดาวน์โหลดไป ใช้งานได้ฟรี โดยซอฟต์แวร์จะอัพเดตตัวเองแบบรายวัน (daily update) เพื่อให้คอมพิวเตอร์ของผู้ใช้ปลอดภัยจากมัลแวร์ใหม่ๆ ที่สามารถขโมยพาสเวิร์ด หรือเปลี่ยนพีซีของผู้ใช้ให้กลายเป็นเซิร์ฟเวอร์ส่งสแปมได้ทันท่วงที โดยไมโครซอฟท์ย้ำว่า มัน (MS Security Essentials) จะไม่ทำให้คอมพิวเตอร์ของคุณทำงานช้าลง&lt;div style="text-align: center;"&gt;&lt;img style="width: 500px; height: 268px;" src="http://www.arip.co.th/images/news/Microsoft2/microsoft-security-essentials-free-download-2.jpg" alt="" height="268" width="500" /&gt;&lt;/div&gt;&lt;p&gt;นอกจากนี้ไมโครซอฟท์ยังกล่าวอีกด้วยว่า การเปิดให้ดาวน์โหลดซอฟต์แวร์แอนตี้ไวรัสของทางบริษัทนั้น ไม่ได้มีเจตนาที่จะขโมยธุรกิจจากบริษัทต่างๆ อย่าง แมคอาฟี่ (McAfee) และไซแมนเทค (Symantec) ซึ่งเป็นบริษัทผู้ผลิตโปรแกรมแอนตี้ไวรัสที่ได้รับความนิยมสูงสุดในปัจจุบัน และมาพร้อมกับคุณสมบัติการทำงานทีมากกว่า โดยซอฟต์แวร์แอนตี้ไวรัสที่เปิดใหดาวน์โหลดฟรีนี้จะเหมาะกับเจ้าของเครื่อง คอมพิวเตอร์ที่ยังไม่ได้ติดตั้งแอนตี้ไวรัสไว้ภายในเครื่อง&lt;/p&gt;(หมายเหตุ: ขณะรายงานข่าวทางเว็บไซต์ยังเปิดให้บริการดาวน์โหลดเวอร์ชันเบต้า และเปิดให้เฉพาะบางประเทศเท่านั้น)&lt;br /&gt;&lt;br /&gt;ที่มา: http://www.arip.co.th/news.php?id=410048&lt;br /&gt;แหล่งดาวน์โหลด: http://www.microsoft.com/Security_essentials/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6849207325724435996?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6849207325724435996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/10/microsoft-hrefhttpadx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6849207325724435996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6849207325724435996'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/10/microsoft-hrefhttpadx.html' title='Free Antivirus จาก Microsoft'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5328374378379958389</id><published>2009-10-03T13:59:00.000+07:00</published><updated>2009-10-03T17:46:55.726+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>Client does not support authentication protocol</title><content type='html'>ใน MySQL 4.1 ขึ้นไปนั้น ได้ใช้ hashing algorithm ในการเก็บ password เพื่อใช้ในการ Authentication Protocol แบบใหม่ซึ่งทำให้ยังไม่สนับสนุนใน PHP หรือ software client ใน version เก่าๆ (หรือใหม่ๆ บางตัวก็ยังไม่สนับสนุน) ถ้าคุณ upgrade ไปเป็น MySQL 4.1 หรือสูงกว่า การติดต่อเพื่อเข้าไปใช้งานนั้น จะขึ้นข้อความว่า&lt;br /&gt;&lt;br /&gt;Client does not support authentication protocol requested by server; consider upgrading MySQL client.&lt;br /&gt;&lt;br /&gt;สาเหตุ มาจากการที่ MySQL ได้ทำการปรับเปลี่ยนการเข้ารหัส password ใหม่อย่างที่ได้กล่าวไปแล้วโดย ถ้าใน MySQL version ก่อน 4.1 นั้นใช้การเข้ารหัสที่มีความยาว 16 bytes แต่ใน version ตั้งแต่ 4.1 ขึ้นมาถึงปัจจุบันนี้จะใช้การเข้ารหัสที่มีความยาว 41 bytes ซึ่ง client บางตัวยังไม่สนับสนุน password hashing algorithm แบบนี้ครับ ซึ่งการเข้ารหัส password ที่มีความยาว 41bytes นี้จะทำให้การถอดรหัสเพื่อทำการ hack ข้อมูลนั้นทำได้ยากขึ้นมากเลยทีเดียวครับ&lt;br /&gt;&lt;br /&gt;โดยถ้าเราเปรียบเทียบจากตัวก่อนหน้า version 4.1 จะได้&lt;br /&gt;&lt;br /&gt;   mysql&gt; SELECT PASSWORD(’mypass’);&lt;br /&gt;   +——————–+&lt;br /&gt;   | PASSWORD(’mypass’) |&lt;br /&gt;   +——————–+&lt;br /&gt;   | 6f8c114b58f2ce9e |&lt;br /&gt;   +——————–+&lt;br /&gt;&lt;br /&gt;แต่ถ้าเราใช้คำสั่งเดียวกันใน version หลังจาก 4.1 จะได้&lt;br /&gt;&lt;br /&gt;   mysql&gt; SELECT PASSWORD(’mypass’);&lt;br /&gt;   +———————————————–+&lt;br /&gt;   | PASSWORD(’mypass’) |&lt;br /&gt;   +———————————————–+&lt;br /&gt;   | *43c8aa34cdc98eddd3de1fe9a9c2c2a9f92bb2098d75 |&lt;br /&gt;   +———————————————–+&lt;br /&gt;&lt;br /&gt;จะเห็นความแตกต่างของการเข้ารหัส password ของ MySQL ครับ&lt;br /&gt;&lt;br /&gt;การแก้ไขปัญหานี้ทำได้โดยการ&lt;br /&gt;&lt;br /&gt;* ทำการ upgrade ตัว client ที่ติดต่อกับ MySQL ให้เป็น version ที่สนับสนุน hashing algorithm ที่เก็บ password ใหม่ใน MySQL 4.1 ขึ้นไป (client ที่ว่านี้หมายถึง PHP MySQL Module, MySQL Front, PHPMyAdmin และตัวจัดการข้อมูลต่างๆ ที่เชื่อมต่อกับ MySQL ถือเป็น client ทั้งหมดครับ)&lt;br /&gt;* เมื่อทำการติดต่อกับ server โดยใช้ pre-4.1 client program ให้ใช้บัญชี username ที่ใช้ pre-4.1-style password แทนการใช้ username ที่ใช้ style password แบบเก่า&lt;br /&gt;* ทำการ Reset password ไปเป็น pre-4.1 style โดยใช้คำสั่ง SET PASSWORD และ OLD_PASSWORD() function โดยทำใน MySQL Command Line Client ซึ่งใช้คำสั่งดังนี้&lt;br /&gt;&lt;br /&gt;   mysql&gt; SET PASSWORD FOR&lt;br /&gt;&lt;br /&gt;   -&gt; ‘some_user‘@’some_host‘ = OLD_PASSWORD(’newpwd‘);&lt;br /&gt;&lt;br /&gt;   * some_host ให้เปลี่ยนเป็น hostname ที่ใช้เช่น localhost, 127.0.0.1, 192.168.0.1 หรือที่เป็น hostname นั้นๆ&lt;br /&gt;   * some_user ให้เปลี่ยนเป็น username ที่ใช้เช่น root, admin หรือ username อื่นๆ ที่ต้องการ&lt;br /&gt;   * newpwd ให้เป็นเป็น password ที่ใช้เช่น 1234, abcde หรือที่ต้องการ&lt;br /&gt;&lt;br /&gt;   ตัวอย่าง :&lt;br /&gt;&lt;br /&gt;   mysql&gt; SET PASSWORD FOR&lt;br /&gt;&lt;br /&gt;   -&gt; ‘root‘@’localhost‘ = OLD_PASSWORD(’1234‘);&lt;br /&gt;&lt;br /&gt;คือกำหนด password ใหม่ให้กับ root ที่ localhost โดยใช้ hashing algorithm password แบบเก่าโดยกำหนด password คือ 1234&lt;br /&gt;&lt;br /&gt;แล้วทำการ UPDATE และ FLUSH PRIVILEGES โดยใช้สั่ง&lt;br /&gt;&lt;br /&gt;   mysql&gt; UPDATE mysql.user SET Password = OLD_PASSWORD(’newpwd‘)&lt;br /&gt;&lt;br /&gt;   -&gt; WHERE Host = ‘some_host‘ AND User = ‘some_user‘;&lt;br /&gt;&lt;br /&gt;   mysql&gt; FLUSH PRIVILEGES;&lt;br /&gt;&lt;br /&gt;ตัวอย่าง :&lt;br /&gt;&lt;br /&gt;   mysql&gt; UPDATE mysql.user SET Password = OLD_PASSWORD(’1234‘)&lt;br /&gt;&lt;br /&gt;   -&gt; WHERE Host = ‘localhost‘ AND User = ‘root‘;&lt;br /&gt;&lt;br /&gt;   mysql&gt; FLUSH PRIVILEGES;&lt;br /&gt;&lt;br /&gt;* ด้วยวิธีด้านบนนี้เหมาะสำหรับใช้ในกรณีที่มี user ที่อยู่ในฐานข้อมูลน้อยๆ เท่านั้น มิเช่นนั้นแล้วอาจจะต้องเปลี่ยนกันมือหงิก -_-"&lt;br /&gt;&lt;br /&gt;* ถ้ามี user ในฐานข้อมูลมากๆ และการปรับเปลี่ยนวิธีด้านบนทั้งหมดเป็นการยากในการทำระบบฐานข้อมูลกลับมา ใช้งานได้ปกติในเวลาอันสั้น เราสามารถบอกให้ MySQL ใช้ password hashing algorithm แบบเก่าตอน start-up service ได้เลย แต่แนะนำให้ใช้งานชั่วคราวเท่านั้นครับ และเมื่อมีเวลาให้ทำการปรับเปลี่ยนไปใช้ระบบ password hashing algorithm แบบใหม่แทน&lt;br /&gt;&lt;br /&gt;     โดยเริ่มการทำงานของ mysqld ด้วย –old-passwords ที่เป็น option command&lt;br /&gt;&lt;br /&gt;     ตัวอย่าง :&lt;br /&gt;&lt;br /&gt;     c:\MySQL\bin\mysqld –old-passwords&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ที่มา: &lt;!-- m --&gt;&lt;a class="postlink" href="http://www.thaicyberpoint.com/ford/blog/id/101/"&gt;http://www.thaicyberpoint.com/ford/blog/id/101/&lt;/a&gt;&lt;!-- m --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5328374378379958389?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5328374378379958389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/10/client-does-not-support-authentication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5328374378379958389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5328374378379958389'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/10/client-does-not-support-authentication.html' title='Client does not support authentication protocol'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4914886032225050392</id><published>2009-10-01T08:24:00.002+07:00</published><updated>2011-03-08T12:05:16.828+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>ลืม password mysql จะสามารถกู้ข้อมูลได้อย่างไร</title><content type='html'>ขั้นตอนแรก&lt;br /&gt;แก้ไขไฟล์คอนฟิก my.cnf หรือ my.ini โดยเพิ่มบรรทัดต่อไปนี้เข้าไปในส่วนของ [mysqld]&lt;br /&gt;skip-grant-tables&lt;br /&gt;แล้ว restart service mysql&lt;br /&gt;&lt;br /&gt;ขั้นตอนที่สองให้พิมพ์คอมมานด์ต่อไปนี้&lt;br /&gt;mysql -u root mysql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ขั้นตอนที่สามให้รัน statement ต่อไปนี้&lt;br /&gt;update user set password=password('newpassword') where user='root';&lt;br /&gt;flush privileges&lt;br /&gt;&lt;br /&gt;ขั้นตอนที่สี่&lt;br /&gt;แก้ไขไฟล์คอนฟิก my.cnf หรือ my.ini โดยเอาบรรทัดต่อไปนี้ออกจากส่วนของ [mysqld]&lt;br /&gt;skip-grant-tables&lt;br /&gt;แล้ว resert service mysql&lt;br /&gt;&lt;br /&gt;เสร็จแล้วครับ&lt;br /&gt;ลองทดสอบโดยคำสั่ง&lt;br /&gt;mysql -u root -pnewpassword&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4914886032225050392?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4914886032225050392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/09/password-mysql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4914886032225050392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4914886032225050392'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/09/password-mysql.html' title='ลืม password mysql จะสามารถกู้ข้อมูลได้อย่างไร'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-6081479116689388153</id><published>2009-09-30T22:25:00.001+07:00</published><updated>2009-10-03T17:46:55.726+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>เราจะสามารถทราบ root password ของ mysql ใน plesk ได้อย่างไร</title><content type='html'>ขึ้นอยู่กับชนิดของ database server ที่ใช้เก็บฐานข้อมูลของ plesk&lt;br /&gt;&lt;br /&gt; ============================================&lt;br /&gt;กรณีที่เป็น Microsoft Access&lt;br /&gt; ============================================&lt;br /&gt;Start &gt;&gt;Run ใส่ %plesk_dir%\admin\db\ แล้วกด Enter&lt;br /&gt;เปิดไฟล์ psa.mdb ด้วยโปรแกรม Microsoft Access&lt;br /&gt; ============================================&lt;br /&gt;กรณีที่เป็น Microsoft SQL Server&lt;br /&gt; ============================================&lt;br /&gt;เปิดโปรแกรม Microsoft SQL Management Studio เพื่อเชื่อมต่อไปยัง Database Server แล้วเลือก database ที่ชื่อ psa&lt;br /&gt; ============================================&lt;br /&gt;กรณีที่เป็น MySQL&lt;br /&gt; ============================================&lt;br /&gt;ให้เปิด command prompt แล้วรันคอมมานด์&lt;br /&gt;cd %plesk_dir%\Databases\MySQL\bin&lt;br /&gt;mysql -P8306 -uadmin -p&lt;plesk_admin_password&gt; psa&lt;br /&gt; ============================================&lt;br /&gt;&lt;br /&gt;จากนั้นให้เปิดดู table ที่ชื่อ DatabaseServers เพื่อดูข้อมูล admin ที่ใช้จัดการ database server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-6081479116689388153?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/6081479116689388153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/09/root-password-mysql-plesk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6081479116689388153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/6081479116689388153'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/09/root-password-mysql-plesk.html' title='เราจะสามารถทราบ root password ของ mysql ใน plesk ได้อย่างไร'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-3062649072178376842</id><published>2009-09-30T00:07:00.000+07:00</published><updated>2009-10-03T17:46:55.727+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>mysqldump ข้อมูลภาษาไทยเพี้ยน จะกู้กลับคืนมาได้อย่างไร</title><content type='html'>การใช้คำสั่ง mysqldump ข้อมูลภาษาไทยเพี้ยน จะ Import เข้าไปได้อย่างไร ในการแก้ปัญหาเรื่องภาษาไทยเพี้ยน จำเป็นต้องมีความรู้ความเข้าใจใน character set เป็นอย่างดีพอสมควร อ่านได้ที่ &lt;a href="http://www.itdnext.com/viewtopic.php?f=42&amp;amp;t=33" class="postlink"&gt;&lt;span style="color: rgb(64, 0, 255);"&gt;ความรู้เรื่อง mysql ตอน ปัญหาภาษาไทย กับ character set&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ในบทความนี้ผมจะไม่กล่าวถึงเรื่องเกี่ยวกับ character set แต่จะกล่าวถึงวิธีการกู้ข้อมูลที่ผิดเพี้ยนไปนั้นกลับขึ้นมา&lt;br /&gt;&lt;br /&gt;โดยก่อนอื่นให้ดูจากไฟล์ที่ dump ขึ้นมาว่ามีความผิดปกติในการเข้ารหัสข้อมูลภาษาไทยอย่างไรบ้าง&lt;br /&gt;&lt;br /&gt;เช่น ถ้าตัวอักษรภาษาไทยกลายเป็นชุดอักษรสามตัวที่ขึ้นต้น à¸ หมายความว่ามีการเข้ารหัสด้วย utf8 แต่ถอดรหัสด้วย latin1&lt;br /&gt;&lt;br /&gt;วิธีแก้ไข คือ&lt;br /&gt;1. import ข้อมูลเดิมเข้าไปโดยไม่ต้องสนใจภาษาที่ผิดเพี้ยน&lt;br /&gt;2. export อีกครั้งโดยเลือก default charset เป็น latin1 ด้วยคำสั่ง&lt;br /&gt;&lt;br /&gt;mysqldump -u root -ppassword --default-character-set=latin1 --skip-set-charset -B dbname &gt; dbname.sql&lt;br /&gt;&lt;br /&gt;3. import ข้อมูลที่ export มาใหม่ โดยเลือก default charset เป็น utf8 ด้วยคำสั่ง&lt;br /&gt;&lt;br /&gt;mysql -u root -ppassword --default-character-set=utf8 &lt; dbname.sql&lt;br /&gt;&lt;br /&gt;จะเห็นได้ว่า keyword ของการกู้ข้อมูลที่มีการเข้ารหัสผิดพลาด คือจะต้องทราบว่าข้อมูลผ่านการเข้ารหัสมาด้วย charset อะไรบ้าง นั่นเอง&lt;br /&gt;&lt;br /&gt;เพื่อให้เข้าใจง่ายยิ่งขึ้น&lt;br /&gt;ให้ นึกภาพข้อมูลที่รับส่งกันภายในคอมพิวเตอร์หรือระหว่างคอมพิวเตอร์ จะส่งกันเป็นข้อมูลไบนารี ดังนั้นเมื่อต้องการส่งข้อมูลที่เป็นตัวอักษรต่างๆ จะต้องมีการเข้ารหัสตัวอักษรให้เป็นตัวเลขฐานสองหรือข้อมูลไบนารีก่อน จากนั้นจึงส่งไปยังปลายทาง จากนั้นเมื่อผู้รับได้รับข้อมูลที่เป็นไบนารี จึงถอดรหัสข้อมูลไบนารีเป็นข้อมูลตัวอักษรอีกที&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.utf8-chartable.de/unicode-utf8-table.pl?start=3584&amp;amp;number=128&amp;amp;utf8=0x" class="postlink"&gt;&lt;span style="color: rgb(64, 0, 255);"&gt;ดูตารางการเข้ารหัสสำหรับ UTF8&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://th.wikipedia.org/wiki/TIS-620" class="postlink"&gt;&lt;span style="color: rgb(64, 0, 255);"&gt;ดูตารางการเข้ารหัสสำหรับ TIS620&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/ISO/IEC_8859-1" class="postlink"&gt;&lt;span style="color: rgb(64, 0, 255);"&gt;ดูตารางการเข้ารหัสสำหรับ LATIN1&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;จะ เห็นว่า ตัวอักษร ก เมื่อเข้ารหัสด้วย utf8 จะได้ข้อมูล 3 ไบต์ คือ 0xe0 0xb8 0x81 (เลขฐานสิบหก) จากนั้นเมื่อนำมาถอดรหัสด้วย latin1 จะได้ e0=à b8=¸ 81=ไม่มีค่า เป็นต้น&lt;br /&gt;&lt;br /&gt;บทความที่เกี่ยวข้อง&lt;br /&gt;&lt;a href="http://www.itdnext.com/viewtopic.php?f=42&amp;amp;t=32" class="postlink"&gt;&lt;span style="color: rgb(64, 0, 255);"&gt;mysqldump ข้อมูลภาษาไทยเพี้ยน จะกู้กลับคืนมาได้อย่างไร&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itdnext.com/viewtopic.php?f=42&amp;amp;t=33" class="postlink"&gt;&lt;span style="color: rgb(64, 0, 255);"&gt;ความรู้เรื่อง mysql  ตอน ปัญหาภาษาไทย กับ character set&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itdnext.com/viewtopic.php?f=42&amp;amp;t=34" class="postlink"&gt;&lt;span style="color: rgb(64, 0, 255);"&gt;mysql: เมื่อภาษาไทยกลายเป็น ?????????&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-3062649072178376842?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/3062649072178376842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/09/mysqldump.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3062649072178376842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/3062649072178376842'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/09/mysqldump.html' title='mysqldump ข้อมูลภาษาไทยเพี้ยน จะกู้กลับคืนมาได้อย่างไร'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-4442991236190965315</id><published>2009-09-30T00:03:00.001+07:00</published><updated>2009-10-03T17:46:55.727+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>การ dump ข้อมูลใน MySQL ให้ถูกต้องตาม Character-set</title><content type='html'>สำหรับบันทึกนี้ขอกล่าวถึงเคล็ดลับในการแปลงฐานข้อมูลจากเดิมที่เป็น latin1 หรือ tis620 ให้เป็น utf8 นะครับ&lt;br /&gt;&lt;br /&gt;มี เงื่อนไขเบื้องต้นว่า หาก character-set ของฐานข้อมูลเป็น tis620 หรือ latin1 (ความจริงเป็น tis620 ครับ เพราะ latin1 ไม่ใช่ character-set ของภาษาไทย) ต้องไม่กำหนดค่า&lt;br /&gt;&lt;br /&gt;default-character-set=utf8&lt;br /&gt;&lt;br /&gt;ใน my.cnf (สำหรับ Linux อยู่ที่ /etc/my.cnf หรือ /etc/mysql/my.cnf)&lt;br /&gt;&lt;br /&gt;หลาย คนอาจจะชินกับการใช้ phpMyAdmin หากใช้แล้วไม่มีปัญหาก็ใช้ต่อไปครับ โดยปกติ เวลาจะ dump ข้อมูลโดยใช้ phpMyAdmin ก็ใช้วิธี export ออกมาเป็น SQL จะดีที่สุด วิธีที่จะดูว่า มีปัญหาหรือไม่ ก็คือ ลองเปิดไฟล์ที่ Export ออกมานั้นด้วย Text Editor ดู หรือใช้ command อื่นๆ เปิดดูก็ได้ครับ หากสามารถอ่านออกเป็นภาษาไทยได้ ก็แสดงว่า ไม่มีปัญหาครับ&lt;br /&gt;&lt;br /&gt;ใน ที่นี้อยากแนะให้ใช้คำสั่ง mysqldump ซึ่งเป็น command line tool ที่นิยมใช้ใน Linux ครับ เข้าใจว่า ใน MS WIndows ก็มีเหมือนกัน วิธีใช้ก็ไม่น่าจะต่างกันมากครับ&lt;br /&gt;&lt;br /&gt;ในการ dump ข้อมูล สิ่งที่ต้องทราบคือ character-set ของข้อมูลคือ อะไร ส่วนใหญ่จะไม่หนีจาก 3 ตัวนี้ครับ คือ latin1, tis620 และ utf8&lt;br /&gt;&lt;br /&gt;หากไม่ทราบ ก็ลองด้วยการกำหนด character-set ไปเรื่อยๆ&lt;br /&gt;&lt;br /&gt;วิธีการใช้คำสั่งก็ คือ&lt;br /&gt;&lt;br /&gt;mysqldump --default-character-set=latin1 -h MySQLserver -u username -p DBName &gt;DBName.sql&lt;br /&gt;&lt;br /&gt;ตัว สีแดงคือ ค่าที่ต้องกำหนดให้ถูกต้องครับ หากเครื่องที่ทำการเรียกคำสั่ง mysqldump เป็นเครื่องเดียวกับ MySQL Server ก็ไม่ต้องมี "-h MySQLserver" ก็ได้ครับ&lt;br /&gt;&lt;br /&gt;username คือ ชื่อ user ที่มีสิทธิ์ในการ access ฐานข้อมูล DBName&lt;br /&gt;&lt;br /&gt;หาก โปรแกรมจัดการฐานข้อมูลที่ใช้อยู่แสดงผลเป็น character-set 8 bits (พวก tis-620, windows-874, iso-8859-11) การกำหนด --default-character-set=latin1 มักจะไม่มีปัญหาครับ ซึ่งหมายถึงอ่านออกเป็นภาษาที่ถูกต้องแน่นอนครับ&lt;br /&gt;&lt;br /&gt;แต่สิ่งที่ต้องทราบต่อไปก็คือ ภาษาไทยที่แสดงนั้น มี  character-set ที่แท้จริงเป็น tis620 ครับ ไม่ใช่ latin1 ครับ&lt;br /&gt;&lt;br /&gt;หากเปิดไฟล์  DBName.sql ดู จะพบว่า ที่หัวไฟล์มีหลายบรรทัดเป็น&lt;br /&gt;&lt;br /&gt;-- MySQL dump 10.9&lt;br /&gt;--&lt;br /&gt;-- Host: localhost    Database: moodle&lt;br /&gt;-- ------------------------------------------------------&lt;br /&gt;-- Server version       4.1.20&lt;br /&gt;&lt;br /&gt;ส่วน 5 บรรทัดข้างบนนี้ เป็น comment จะไม่สนใจก็ได้ครับ&lt;br /&gt;&lt;br /&gt;/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;&lt;br /&gt;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;&lt;br /&gt;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;&lt;br /&gt;/*!40101 SET NAMES latin1 */;&lt;br /&gt;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;&lt;br /&gt;/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 *&lt;br /&gt;/;&lt;br /&gt;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;&lt;br /&gt;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;&lt;br /&gt;&lt;br /&gt;หลาย บรรทัดเหล่านี้ดูเหมือนจะเป็น comment แต่ไม่ใช่ครับ มันมีความหมายครับ เช่น 40101 หมายถึง MySQL รุ่น 4.1.1 และ 40014 หมายถึง MySQL รุ่น 4.0.14 และในแต่ละบรรทัดก็มีความหมายว่า หากเป็น MySQL รุ่นเท่ากับหรือสูงกว่าที่บอกไว้ต้นบรรทัด ก็จะ run คำสั่งที่ตามมา เช่น&lt;br /&gt;&lt;br /&gt;/*!40101 SET NAMES latin1 */; ก็หมายถึง หากเรา import ข้อมูล DBName.sql เข้า MySQL Server รุ่นที่เท่ากับหรือสูงกว่า 4.1.1 ก็จะมีการสั่งให้ SET NAMES latin1 ซึ่งหมายถึงการตั้งค่าการสื่อสารข้อมูลด้วย character-set lantin1 แต่ถ้าเป็นการ import ข้อมูลเข้า MySQL Server รุ่นที่ต่ำกว่า 4.1.1 บรรทัดนั้นก็จะถูกข้ามไปครับ&lt;br /&gt;&lt;br /&gt;สิ่งที่สำคัญในที่นี้ก็คือ การกำหนดให้เป็น latin1 ในที่นี้ อาจจะทำให้ import ข้อมูลผิดพลาด หากไม่แน่ใจก็ให้ลบบรรทัดนี้ทิ้งไป&lt;br /&gt;&lt;br /&gt;ส่วนที่จะเป็นปัญหาต่อมา คือ ในส่วนของไฟล์ที่เกี่ยวกับการสร้างตาราง เช่น&lt;br /&gt;&lt;br /&gt;CREATE TABLE `mdl_assignment` (&lt;br /&gt; `id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt; `course` int(10) unsigned NOT NULL default '0',&lt;br /&gt; `description` text NOT NULL,&lt;br /&gt; `format` tinyint(2) unsigned NOT NULL default '0',&lt;br /&gt; `resubmit` tinyint(2) unsigned NOT NULL default '0',&lt;br /&gt; `type` int(10) unsigned NOT NULL default '1',&lt;br /&gt; `maxbytes` int(10) unsigned NOT NULL default '100000',&lt;br /&gt; `timedue` int(10) unsigned NOT NULL default '0',&lt;br /&gt; `grade` int(10) NOT NULL default '0',&lt;br /&gt; `timemodified` int(10) unsigned NOT NULL default '0',&lt;br /&gt; PRIMARY KEY  (`id`),&lt;br /&gt; KEY `course` (`course`)&lt;br /&gt;) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;&lt;br /&gt;ให้สังเกตที่บรรทัดสุดท้ายครับ ตรงนี้ ให้ทำการลบ DEFAULT CHARSET=latin1 ออกให้หมด&lt;br /&gt;&lt;br /&gt;ตรวจสอบไฟล์ให้แน่ใจว่า สามารถอ่านได้เป็นปกติ โดยที่เป็น tis-620&lt;br /&gt;&lt;br /&gt;ขั้นตอนต่อมา คือ การ import ข้อมูลเข้า MySQL Server ที่กำหนด default-character-set=utf8 ใน my.cnf แล้ว&lt;br /&gt;&lt;br /&gt;โดยปกติ ก็ใช้คำสั่ง&lt;br /&gt;&lt;br /&gt;mysql --default-character-set=tis620 -h MySQLserver -u username -p DBName &lt; DBName.sql&lt;br /&gt;&lt;br /&gt;สังเกต ว่า การกำหนด --default-character-set=tis620 ในคำสั่งนี้ ต้องระบบ character-set ของไฟล์ให้ตรงกัน โดยไม่จำเป็นต้องแปลงไฟล์ให้เป็น utf8 ครับ เพราะ MySQL Server จะทำการแปลงให้เอง&lt;br /&gt;&lt;br /&gt;สิ่งสำคัญต่อไป ก็คือ โปรแกรมที่ใช้จัดการฐานข้อมูลครับ ต้องใช้ character-set เหมือนกับของฐานข้อมูลเท่านั้นครับ และก็มีเคล็ดลับอีกเล็กน้อย ซึ่งจะได้กล่าวในบันทึกอื่นต่อไปครับ&lt;br /&gt;&lt;br /&gt;ที่มา: &lt;!-- m --&gt;&lt;a class="postlink" href="http://share.psu.ac.th/blog/myopensource/5425"&gt;http://share.psu.ac.th/blog/myopensource/5425&lt;/a&gt;&lt;!-- m --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-4442991236190965315?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/4442991236190965315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/09/dump-mysql-character-set.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4442991236190965315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/4442991236190965315'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/09/dump-mysql-character-set.html' title='การ dump ข้อมูลใน MySQL ให้ถูกต้องตาม Character-set'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1971318307217572208.post-5064460381450421454</id><published>2009-09-29T23:44:00.000+07:00</published><updated>2009-10-03T17:47:10.941+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>ติดตั้ง ASP.NET 32 bit ใน Windows 64 bit อย่างไร</title><content type='html'>ในการติดตั้งซอฟต์แวร์บางตัว เช่น Report Service ของ SQL Server 2005 32 bit จะต้องทำงานร่วมกับ ASP.NET 2.0 32 bit เท่านั้น หรือ&lt;br /&gt;ใน กรณีทีต้องการติดตั้ง ASP.NET 1.1 บน Windows 64 bit จะเกิดปัญหา คือไม่สามารถทำงานได้ถูกต้อง เพราะ ASP.NET 1.1 จะทำงานได้เฉพาะบนโหมด 32 bit เท่านั้น&lt;br /&gt;&lt;br /&gt;โดยปกติ IIS 6.0 บน Windows 64 bit จะทำงานรองรับทั้งโหมด 32 bit และ 64 bit แต่จะทำงานได้แค่โหมดใดโหมดหนึ่งเท่านั้น ซึ่งโดยค่าตั้งต้นจะทำงานในโหมด 64 bit&lt;br /&gt;&lt;br /&gt;เช่นเดียวกันกับ ASP.NET 2.0 ซึ่งสามารถทำงานได้ทั้งในโหมด 32 bit และ 64 bit แต่จะทำงานได้ในโหมดใดโหมดหนึ่งเท่านั้น&lt;br /&gt;&lt;br /&gt;แต่ ASP.NET 1.1 จะทำงานได้เฉพาะบนโหมด 32 bit เท่านั้น&lt;br /&gt;&lt;br /&gt;คำ ถามก็คือ ในกรณีที่ต้องการติดตั้งใช้งาน ASP.NET 1.1 ร่วมกับ ASP.NET 2.0 พร้อมกัน จะสามารถทำได้อย่างไร หรือในกรณีที่ต้องการติดตั้ง Report Service ของ SQL Server 2005 32 bit บน Windows 64 bit จะสามารถทำได้อย่างไร คำตอบก็ชัดเจนครับ นั่นก็คือ ต้องเปลี่ยนโหมดของ IIS และ ASP.NET 2.0 ไปทำงานในโหมด 32 บิต ครับ&lt;br /&gt;&lt;br /&gt;ขั้นตอนการสลับโหมดการทำงานของ IIS 6.0 บน Windows 64 bit&lt;br /&gt;     คลิกที่ Start คลิก Run พิมพ์ cmd แล้วคลิก OK&lt;br /&gt;ถ้าต้องเปิดใช้งาน IIS 6.0 โหมด 32 bit ให้พิมพ์คำสั่งต่อไปนี้:&lt;br /&gt;     cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1&lt;br /&gt;ถ้าต้องเปิดใช้งาน IIS 6.0 โหมด 64 bit ให้พิมพ์คำสั่งต่อไปนี้:&lt;br /&gt;     cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0&lt;br /&gt;&lt;br /&gt;ขั้นตอนการสลับโหมดการทำงานของ ASP.NET 2.0&lt;br /&gt;     คลิกที่ Start คลิก Run พิมพ์ cmd แล้วคลิก OK&lt;br /&gt;&lt;br /&gt;ถ้าต้องการติดตั้ง ASP.NET 2.0 โหมด 32 bit ให้พิมพ์คำสั่งต่อไปนี้&lt;br /&gt;     %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i&lt;br /&gt;     ไปที่ Control Panel &gt;&gt; Administrative Tools &gt;&gt; Internet Information Services Manager&lt;br /&gt;ในรายการ Web Service Extensions ให้ตรวจสอบว่าสถานะของ ASP.NET v.2.0.50727 (32 bit) มีค่าเป็น Allowed หรือไม่ ถ้าไม่ ให้เปลี่ยน สถานะเป็น Allowed&lt;br /&gt;&lt;br /&gt;ถ้าต้องการติดตั้ง ASP.NET 2.0 โหมด 64 bit ให้พิมพ์คำสั่งต่อไปนี้&lt;br /&gt;     %SYSTEMROOT%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i&lt;br /&gt;     ไปที่ Control Panel &gt;&gt; Administrative Tools &gt;&gt; Internet Information Services Manager&lt;br /&gt;ในรายการ Web Service Extensions ให้ตรวจสอบว่าสถานะของ ASP.NET v.2.0.50727 มีค่าเป็น Allowed หรือไม่ ถ้าไม่ ให้เปลี่ยน สถานะเป็น Allowed&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1971318307217572208-5064460381450421454?l=itdnext.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://itdnext.blogspot.com/feeds/5064460381450421454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://itdnext.blogspot.com/2009/09/aspnet-32-bit-windows-64-bit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5064460381450421454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1971318307217572208/posts/default/5064460381450421454'/><link rel='alternate' type='text/html' href='http://itdnext.blogspot.com/2009/09/aspnet-32-bit-windows-64-bit.html' title='ติดตั้ง ASP.NET 32 bit ใน Windows 64 bit อย่างไร'/><author><name>Kenji</name><uri>http://www.blogger.com/profile/06788309514376775843</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
