<?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-22438422</id><updated>2011-11-28T05:34:53.877+05:30</updated><category term='foss.in'/><category term='Tech'/><category term='personal'/><category term='Test'/><title type='text'>Suji's blog</title><subtitle type='html'>This is Suji's Personal Blog...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22438422.post-427484333052513739</id><published>2011-01-10T09:46:00.001+05:30</published><updated>2011-01-10T09:46:31.662+05:30</updated><title type='text'>photo stitch</title><content type='html'>&lt;p&gt;This one is a stitch of five snaps.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_eGZXb-0E2vw/TSqIGsEwyeI/AAAAAAAAGoc/T8EyKGPFYOY/s1600-h/kemp_test_stitch%5B4%5D.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: ; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="kemp_test_stitch" border="0" alt="kemp_test_stitch" src="http://lh4.ggpht.com/_eGZXb-0E2vw/TSqIHkbvAII/AAAAAAAAGog/-Wgf6tCubXk/kemp_test_stitch_thumb%5B2%5D.jpg?imgmax=800" width="679" height="153" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;~Sujith Emmanuel&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-427484333052513739?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/427484333052513739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=427484333052513739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/427484333052513739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/427484333052513739'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2011/01/photo-stitch.html' title='photo stitch'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_eGZXb-0E2vw/TSqIHkbvAII/AAAAAAAAGog/-Wgf6tCubXk/s72-c/kemp_test_stitch_thumb%5B2%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-3234729455506034053</id><published>2010-10-21T12:45:00.001+05:30</published><updated>2010-10-21T12:45:22.612+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test'/><title type='text'>Checking out the new Live writer</title><content type='html'>&lt;p&gt;It was a huge download of 156MB for the Windows Live packages.&lt;/p&gt;  &lt;p&gt;Just checking out the new writer with a sample post.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;~Sujith Emmanuel&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-3234729455506034053?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/3234729455506034053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=3234729455506034053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3234729455506034053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3234729455506034053'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2010/10/checking-out-new-live-writer.html' title='Checking out the new Live writer'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-459217032974892009</id><published>2009-12-10T10:04:00.000+05:30</published><updated>2009-12-11T10:13:58.514+05:30</updated><title type='text'>NetBeans 6.8</title><content type='html'>&lt;p&gt;Today, Sun and the NetBeans community are announcing the availability of the NetBeans(TM) Integrated Development Environment (IDE) 6.8. It is the &lt;u&gt;first&lt;/u&gt; IDE to provide complete support for Java(TM) Platform Enterprise Edition 6 (Java EE 6) and Sun GlassFish(TM) Enterprise Server v3, and offers other new features. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;KEY TAKEAWAYS&lt;/p&gt;  &lt;p&gt;- The NetBeans IDE 6.8 is the &lt;u&gt;first&lt;/u&gt; IDE to provide complete support of the Java EE 6 specification.&lt;/p&gt;  &lt;p&gt;- The Java EE 6 platform provides proven strengths in scalability, reliability and security, and the NetBeans IDE 6.8 goes hand-in-hand, making language and platform improvements easily available for developers.&lt;/p&gt;  &lt;p&gt;- The NetBeans IDE supports Java AND dynamic languages like PHP, Python, Ruby etc.&lt;/p&gt;  &lt;p&gt;- The NetBeans IDE is a first-class open source tool that is modular, extensible and has an active community.&lt;/p&gt;  &lt;p&gt;KEY UPDATES TO THE NETBEANS 6.8 IDE&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Complete Java EE 6 Support:&lt;/b&gt; Java EE 6 language features simplify Java application development with less XML configuration, more annotations and more POJO-like development.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;GlassFish v3 Support:&lt;/b&gt; Developers can easily target and deploy to GlassFish v3, including the new lightweight GlassFish v3 Web Profile.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;JavaFX(TM):&lt;/b&gt; The latest version of the NetBeans editor provides improved code completion, hints and navigation for JavaFX.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;PHP Support:&lt;/b&gt; The NetBeans IDE expands its support of dynamic languages with support for PHP 5.3 and the Symfony framework.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Tighter Integration with Project Kenai:&lt;/b&gt; Project Kenai, a collaborative environment for hosting open source projects, now delivers full support for JIRA and improved instant messenger and issue tracker integration. For more information visit &lt;a href="http://www.kenai.com/"&gt;www.kenai.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;C/C++ Profiling:&lt;/b&gt; The new Microstate Accounting indicator and I/O usage monitor help developers profile and tune C/C++ applications.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;NetBeans Platform:&lt;/b&gt; As a rock-solid application framework for Swing applications, the platform saves developers a huge amount of time and effort by providing commonly-used facilities such as menu items, toolbar items, keyboard shortcuts, and window management.&lt;/p&gt;  &lt;p&gt;Additional information is available at: &lt;a href="http://netbeans.org/community/releases/68/"&gt;http://netbeans.org/community/releases/68/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Java EE 6 - &lt;a href="http://java.sun.com/javaee/"&gt;&lt;u&gt;http://java.sun.com/javaee/&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;GlassFish v3 - &lt;a href="http://www.sun.com/glassfishv3"&gt;http://www.sun.com/glassfishv3&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;NETBEANS RESOURCES&lt;/p&gt;  &lt;p&gt;- Learn more about the NetBeans IDE &lt;a href="http://www.netbeans.org/"&gt;http://www.netbeans.org/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- Watch the product tour and screencasts at &lt;a href="http://www.netbeans.org/kb/index.html"&gt;http://www.netbeans.org/kb/index.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- Download the NetBeans IDE &lt;a href="http://www.netbeans.org/downloads/index.html"&gt;http://www.netbeans.org/downloads/index.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- Join the NetBeans community &lt;a href="http://www.netbeans.org/community/index.html"&gt;http://www.netbeans.org/community/index.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- NetBeans on Twitter &lt;a href="http://www.twitter.com/netbeans"&gt;http://www.twitter.com/netbeans&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- NetBeans graphics (banners, logos, etc)&amp;#160; &lt;a href="http://netbeans.org/community/teams/evangelism/collateral.html"&gt;http://netbeans.org/community/teams/evangelism/collateral.html&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-459217032974892009?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/459217032974892009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=459217032974892009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/459217032974892009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/459217032974892009'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2009/12/netbeans-68.html' title='NetBeans 6.8'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-8934953041889392620</id><published>2009-07-20T14:58:00.001+05:30</published><updated>2009-07-20T14:58:05.641+05:30</updated><title type='text'>ZFS Naming restrictions.</title><content type='html'>&lt;p&gt;Each ZFS component must be named according to the following rules:&lt;a name="indexterm-48"&gt;&lt;/a&gt;&lt;a name="indexterm-49"&gt;&lt;/a&gt;&lt;a name="indexterm-50"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a name=""&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;Empty components are not allowed.&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Each component can only contain alphanumeric characters in addition to the following four special characters:&lt;/p&gt;      &lt;p&gt;&lt;a name=""&gt;&lt;/a&gt;&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;p&gt;Underscore (_)&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;Hyphen (-)&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;Colon (:)&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;Period (.)&lt;/p&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Pool names must begin with a letter, except for the following restrictions:&lt;/p&gt;      &lt;p&gt;&lt;a name=""&gt;&lt;/a&gt;&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;p&gt;The beginning sequence &lt;tt&gt;c&lt;/tt&gt;[&lt;tt&gt;0-9&lt;/tt&gt;] is not allowed&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;The name &lt;tt&gt;log&lt;/tt&gt; is reserved&lt;/p&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;p&gt;A name that begins with &lt;tt&gt;mirror&lt;/tt&gt;, &lt;tt&gt;raidz&lt;/tt&gt;, or &lt;tt&gt;spare&lt;/tt&gt; is not allowed because these name are reserved.&lt;/p&gt;       &lt;/li&gt;     &lt;/ul&gt;      &lt;p&gt;In addition, pool names must not contain a percent sign (&lt;tt&gt;%&lt;/tt&gt;)&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;Dataset names must begin with an alphanumeric character. Dataset names must not contain a percent sign (&lt;tt&gt;%&lt;/tt&gt;).&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-8934953041889392620?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/8934953041889392620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=8934953041889392620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/8934953041889392620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/8934953041889392620'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2009/07/zfs-naming-restrictions.html' title='ZFS Naming restrictions.'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-3585311480007525008</id><published>2009-06-30T09:32:00.001+05:30</published><updated>2009-06-30T09:32:32.502+05:30</updated><title type='text'>NetBeans 6.7 out in the wild</title><content type='html'>&lt;p&gt;&lt;small&gt;The focus of NetBeans IDE 6.7 is connectivity—helping developers to connect to the latest technologies and to each other. New features include integration with Project Kenai, a collaborative environment for developers to host their open-source projects; native Maven support, and Hudson integration.      &lt;br /&gt;Building on the success of previous releases, NetBeans IDE 6.7 offers enhancements for Java, PHP, Ruby, JavaScript, Groovy and C/C++, and more. Additional highlights include a self-diagnostic Profiler, and support for SVG Rich Components, &lt;/small&gt;&lt;small&gt;remote debugging in Ruby, &lt;/small&gt;&lt;small&gt;and the latest version of GlassFish. The release also provides plug-in support for Zembly, a single registry and repository for popular Web APIs.      &lt;br /&gt;Providing superior support for multiple languages and innovative team support through Project Kenai, the NetBeans IDE 6.7 is the ideal tool for developers to stay connected to their teams and to the latest technologies!       &lt;br /&gt;NetBeans IDE 6.7 is available in English, Brazilian Portuguese, Japanese and Simplified Chinese.       &lt;br /&gt;&lt;strong&gt;Detailed Release Highlights        &lt;br /&gt;Connected Developer&lt;/strong&gt;       &lt;br /&gt;- Create Kenai-hosted open source projects within the IDE       &lt;br /&gt;- Manage your Kenai project and collaborate with like-minded developers       &lt;br /&gt;- File issue tracking reports with Jira and Bugzilla       &lt;br /&gt;&lt;strong&gt;Maven        &lt;br /&gt;&lt;/strong&gt;- Library dependency graph viewer       &lt;br /&gt;- Improved code completion for Maven plugin parameters       &lt;br /&gt;- Support for Java EE, Web Services creation and consumption       &lt;br /&gt;&lt;strong&gt;PHP&lt;/strong&gt;       &lt;br /&gt;- PHPUnit support       &lt;br /&gt;- Code coverage and Selenium support       &lt;br /&gt;- SQL code completion in the PHP editor       &lt;br /&gt;&lt;strong&gt;Groovy and Grails&lt;/strong&gt;       &lt;br /&gt;- Out-of-the-box support for Grails 1.1       &lt;br /&gt;- Code completion       &lt;br /&gt;- Invoke Grails command or custom script from context menu item       &lt;br /&gt;&lt;strong&gt;Java        &lt;br /&gt;&lt;/strong&gt;- Hudson services integration for Ant and Maven projects&amp;#160; &lt;br /&gt;- Generated source roots now displayed in the Projects tab       &lt;br /&gt;- Struts library migrated to version 1.3.8&amp;#160; &lt;br /&gt;GlassFish       &lt;br /&gt;- Glassfish v3 Prelude instance with pre-configured Derby (Java DB) integration       &lt;br /&gt;- Code completion support for GlassFish v3 Prelude       &lt;br /&gt;&lt;strong&gt;Ruby and Rails        &lt;br /&gt;&lt;/strong&gt;- Remote debugging support       &lt;br /&gt;- Improvements to Ruby constants support       &lt;br /&gt;&lt;strong&gt;C/C++        &lt;br /&gt;&lt;/strong&gt;- DLight profiling tools for C++ projects       &lt;br /&gt;- Integrated support of popular Qt library and tools       &lt;br /&gt;&lt;strong&gt;Profiler        &lt;br /&gt;&lt;/strong&gt;- Export profiling data into CSV, HTML and XML formats       &lt;br /&gt;- HeapWalker supports OQL queries       &lt;br /&gt;&lt;strong&gt;Java ME / Mobility&lt;/strong&gt;       &lt;br /&gt;- Bundled with the Java Platform Micro Edition Software Development Kit 3.0       &lt;br /&gt;- Full support for SVG Rich Components in the Visual Mobile Designer       &lt;br /&gt;- Support for the Java Card Platform 3.0&lt;/small&gt;&lt;/p&gt;  &lt;p&gt;&lt;small&gt;~Sujith Emmanuel&lt;/small&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-3585311480007525008?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/3585311480007525008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=3585311480007525008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3585311480007525008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3585311480007525008'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2009/06/netbeans-67-out-in-wild.html' title='NetBeans 6.7 out in the wild'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-235669343468959261</id><published>2009-06-06T10:59:00.001+05:30</published><updated>2009-06-06T10:59:40.268+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>EveryOnez Welcome</title><content type='html'>&lt;a href="http://lh5.ggpht.com/_eGZXb-0E2vw/Sin-roKxgBI/AAAAAAAAGP4/5tt8JRhSY_w/s1600-h/deliverance%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="deliverance" border="0" alt="deliverance" src="http://lh4.ggpht.com/_eGZXb-0E2vw/Sin-vS3tJ6I/AAAAAAAAGP8/E71J_nqbR7A/deliverance_thumb.jpg?imgmax=800" width="244" height="154" /&gt;&lt;/a&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-235669343468959261?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/235669343468959261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=235669343468959261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/235669343468959261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/235669343468959261'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2009/06/everyonez-welcome.html' title='EveryOnez Welcome'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_eGZXb-0E2vw/Sin-vS3tJ6I/AAAAAAAAGP8/E71J_nqbR7A/s72-c/deliverance_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-2909837643232933474</id><published>2008-11-02T15:02:00.000+05:30</published><updated>2008-11-02T15:02:46.298+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>After a while</title><content type='html'>&lt;p&gt;This is my post after a long hiatus. Am still with Sun and hot. Did clear the Sun Certified Solaris 10 Administrator during this period. Saw the market fluctuations and how companies try to deal with it. Took up more responsibilities. Saw lot of friends move to different parts of the world, join the rat race, try to perform and loose touch with themselves. &lt;/p&gt;  &lt;p&gt;Am no different in this aspect, the last few months saw me also a lot busy, not taking time to touch another person's life. Trying to solve one challenge after another without thinking about anything or anybody. I suppose it'll continue till you reach a point after which you turn back to see how you have spent your years in the world and reflect how you could've used that time better, what would've been a better investment and such. Guess the aim of everyone should be to make sure that you don't get to regret much at that point in time.&lt;/p&gt;  &lt;p&gt;~Sujith Emmanuel&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-2909837643232933474?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/2909837643232933474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=2909837643232933474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2909837643232933474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2909837643232933474'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2008/11/after-while.html' title='After a while'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-2779980912946657893</id><published>2008-06-13T19:13:00.000+05:30</published><updated>2008-06-15T19:52:20.539+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Sun Cert Solaris Administration part 1</title><content type='html'>&lt;p&gt;So at last i got time to write the Solaris Admin first exam. Had been thinking about writing both the exams for the past one year now. Due to some reason, couldn't get myself to write it. Now that the vouchers are getting expired at the end of this month, it leaves me with no time. Planning on writing the second exam sometime this week.&lt;/p&gt;  &lt;p&gt;As for the first exam, its pretty easy to crack if you have some Solaris 10 experience. There were a total of 60 questions and the pass percentage was 60%. Before the actual exam questions, there was a survey about how good you are on different facets of Solaris OS. Have a feeling that the questions you face could be randomised according to the choices you make in the survey questions. I could be wrong though.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-2779980912946657893?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/2779980912946657893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=2779980912946657893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2779980912946657893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2779980912946657893'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2008/06/sun-cert-solaris-administration-part-1.html' title='Sun Cert Solaris Administration part 1'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-3876902490636505178</id><published>2008-06-12T17:30:00.001+05:30</published><updated>2008-06-12T17:30:23.112+05:30</updated><title type='text'>Test blog entry from Live Writer</title><content type='html'>&lt;p&gt;Testing a new client for writing blogs. Till now it was either direct editing or through Scribefire.&lt;/p&gt;  &lt;p&gt;Lets see how this works out.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;~Sujith Emmanuel&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-3876902490636505178?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/3876902490636505178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=3876902490636505178' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3876902490636505178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3876902490636505178'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2008/06/test-blog-entry-from-live-writer.html' title='Test blog entry from Live Writer'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-309732809673121682</id><published>2007-12-19T10:26:00.000+05:30</published><updated>2007-12-19T10:36:01.535+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='foss.in'/><title type='text'>foss.in</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_eGZXb-0E2vw/R2imPLXiFpI/AAAAAAAABsw/_MeSVRKikcE/s1600-h/DSCN2605.JPG"&gt;&lt;img src="http://1.bp.blogspot.com/_eGZXb-0E2vw/R2imPLXiFpI/AAAAAAAABsw/_MeSVRKikcE/s320/DSCN2605.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5145545353950533266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_eGZXb-0E2vw/R2ilnrXiFoI/AAAAAAAABso/VaOHxO3Z3yw/s1600-h/DSCN2603.JPG"&gt;&lt;img src="http://3.bp.blogspot.com/_eGZXb-0E2vw/R2ilnrXiFoI/AAAAAAAABso/VaOHxO3Z3yw/s320/DSCN2603.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5145544675345700482" /&gt;&lt;/a&gt;&lt;br /&gt;Two weeks back i attended this Open Source conference  called FOSS.IN. I wanted to attend at the least three days out of four having very interesting talks but could make it only for one and a half day. The crowd was very techy and this conference is a must attend if you have anything to do with opensource in india.&lt;br /&gt;&lt;br /&gt;One of the snaps is of a kernel guy who could not stand at one place, so difficult to catch a snap that i have to take a video ;). His talk was really good.&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-309732809673121682?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/309732809673121682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=309732809673121682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/309732809673121682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/309732809673121682'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/12/fossin.html' title='foss.in'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_eGZXb-0E2vw/R2imPLXiFpI/AAAAAAAABsw/_MeSVRKikcE/s72-c/DSCN2605.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-207204809647206581</id><published>2007-11-14T10:29:00.001+05:30</published><updated>2007-11-15T14:28:00.215+05:30</updated><title type='text'>Third IEEE International Conference on e-Science and Grid Computing</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;CALL FOR PARTICIPATION&lt;br /&gt;&lt;br /&gt;Third IEEE International Conference on e-Science&lt;br /&gt;and Grid Computing&lt;br /&gt;December 10-13, 2007, Bangalore, India&lt;br /&gt;&lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://www.escience2007.org/"&gt;http://www.escience 2007.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sponsored By:&lt;br /&gt;IEEE Computer Society's Technical Committee on Scalable Computing&lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://www.ieeetcsc.org/"&gt;http://www.ieeetcsc.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Organised/Supported by:&lt;br /&gt;Centre for Development of Advanced Computing, India&lt;br /&gt;The University of Melbourne, Australia&lt;br /&gt;Indiana University, USA&lt;br /&gt;LSU Center for Computation &amp;amp; Technology, USA&lt;br /&gt;EuroIndiaGrid Project&lt;br /&gt;OMII (Open Middleware Infrastructure Institute), UK&lt;br /&gt;Microsoft Corporation&lt;br /&gt;Hewlett Packard (HP)&lt;br /&gt;************ *********&lt;br /&gt;********* ********* ********* ********* ********* *********&lt;br /&gt;&lt;br /&gt;UPCOMING DEADLINES:&lt;br /&gt;&lt;br /&gt;* Advance Registration Deadline: Nov 7, 2007&lt;br /&gt;&lt;br /&gt;PROGRAM HIGHLIGHTS:&lt;br /&gt;------------ ------&lt;br /&gt;The e-Science 2007 conference, sponsored by the IEEE Computer Society's Technical Committee for Scalable Computing (TCSC), is designed to bring together leading international and interdisciplinary research communities, developers, and users of e-Science applications and enabling IT technologies. The conference serves as a forum to present the results of the latest research and product/tool developments, and highlight related activities from around the world.&lt;br /&gt;&lt;br /&gt;Keynotes:&lt;br /&gt;---------&lt;br /&gt;&lt;br /&gt;The conference features plenary keynote speakers drawn from Europe, North America, and Asia&lt;br /&gt;&lt;br /&gt;The conference also features technical talks from industries.&lt;br /&gt;&lt;br /&gt;Contributed Papers:&lt;br /&gt;------------ -------&lt;br /&gt;&lt;br /&gt;The Program Committee has selected 60 top quality research papers out of 206 submissions from all over the world for presentation at the conference.&lt;br /&gt;&lt;br /&gt;Workshops:&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;* OGF (Open Grid Forum) Workshop on eScience Highlights&lt;br /&gt;* Innovative and Collaborative Problem Solving Environment in Distributed Resources&lt;br /&gt;* Scientific Workflows and Business Workflow Standards in e-Science&lt;br /&gt;* International Grid Interoperability and Interoperation Workshop&lt;br /&gt;&lt;br /&gt;Posters and Research Demos:&lt;br /&gt;------------ --------- ------&lt;br /&gt;&lt;br /&gt;The conference features 21 posters and 5 "live" research demons selected from submissions&lt;br /&gt;from all over the world.&lt;br /&gt;&lt;br /&gt;Tutorials:&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;1. Introduction to Globus Toolkit GT4&lt;br /&gt;Presenter: Ravi Madduri, Argonne National Laboratory, USA&lt;br /&gt;&lt;br /&gt;2. Market-based Grid Computing and the Gridbus Middleware&lt;br /&gt;Presenter: Rajkumar Buyya, The University of Melbourne, Australia&lt;br /&gt;&lt;br /&gt;3. Autonomic Grid Computing&lt;br /&gt;Presenter: Manish Parashar, Rutgers University (USA) Omer Rana, Cardiff University (UK)&lt;br /&gt;&lt;br /&gt;4. Applications enablement on Grid Presenters: Mangala and Prahlad Rao, C-DAC, India&lt;br /&gt;&lt;br /&gt;The exhibition session will consist of exhibits/presentations from vendor companies and R&amp;amp;D laboratories.&lt;br /&gt;&lt;br /&gt;TRAVEL SCHOLARSHIPS FOR STUDENTS:&lt;br /&gt;------------ --------- --------- ---&lt;br /&gt;The IEEE Technical Committee on Scalable Computing, The University of Melbourne, and C-DAC sponsored travel support is being offered to students. All eligible research degree students are encouraged to apply to one of the following related scholarships:&lt;br /&gt;1. International Students (TCSC supported):&lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://www.ieeetcsc.org/young/eScience07/TCSCgrant.html"&gt;http://www.ieeetcsc .org/young/ eScience07/ TCSCgrant.html&lt;/a&gt;&lt;br /&gt;2. India-based Students (TCSC and Uni. of Melbourne supported):&lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://www.ieeetcsc.org/young/eScience07/TCSC-UnimelbGrant.html"&gt;http://www.ieeetcsc .org/young/ eScience07/TCSC-UnimelbGrant.html&lt;/a&gt;&lt;br /&gt;3. C-DAC supported (For Indian students only):&lt;br /&gt;&lt;a rel="nofollow" target="_blank" href="http://www.escience2007.org/scholarship.asp"&gt;http://www.escience 2007.org/ scholarship.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CONFERENCE REGISTRATION:&lt;br /&gt;------------ --------- ---&lt;br /&gt;The conference registration includes attendance to all e-Science (1) workshops, (2) tutorials, (3) technical sessions, (4) posters and research demo, (5) exhibits and (6) a copy of the conference proceedings published by the IEEE Computer Society.&lt;br /&gt;============ ========= ========= ========= =========&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-207204809647206581?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/207204809647206581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=207204809647206581' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/207204809647206581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/207204809647206581'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/11/third-ieee-international-conference-on.html' title='Third IEEE International Conference on e-Science and Grid Computing'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-1758489742717313060</id><published>2007-10-31T13:20:00.001+05:30</published><updated>2007-10-31T13:20:26.808+05:30</updated><title type='text'>JavaOne Conference</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div style='margin: 0px;'&gt;&lt;b&gt;JavaOne Conference&lt;/b&gt;&lt;/div&gt;&lt;div style='margin: 0px;'&gt;&lt;b&gt;Call for Papers is OPEN&lt;/b&gt;&lt;/div&gt;&lt;div style='margin: 0px;'&gt;&lt;b&gt;Submit your proposal today - Deadline is November 16, 2007&lt;/b&gt;&lt;/div&gt;&lt;div style='margin: 0px; min-height: 14px;'&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style='margin: 0px;'&gt;JavaOne, Sun's 2008 Worldwide Developer Conference, is seeking proposals for technical sessions and Birds-of-a-Feather (BOFs) sessions for this year's Conference.&lt;/div&gt;&lt;div style='margin: 0px; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal; min-height: 14px;'&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style='margin: 0px;'&gt;Attracting over 15,000 developers and leaders in the developer community - from industry leaders, to experienced developers to developers starting out - this conference is one that brings together some of the industry's best and brightest.&lt;/div&gt;&lt;div style='margin: 0px; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: normal; font-size-adjust: none; font-stretch: normal; min-height: 14px;'&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style='margin: 0px;'&gt;The JavaOne conference is your opportunity to reach this specialized community by educating and sharing your experience and expertise with the developer community. &lt;/div&gt;&lt;div style='margin: 0px; min-height: 14px;'&gt;&lt;br class='khtml-block-placeholder'/&gt;&lt;/div&gt;&lt;div style='margin: 0px;'&gt;Additional information on the program can be found at:&lt;/div&gt;&lt;div style='margin: 0px;'&gt;&lt;a href='http://java.sun.com/javaone/sf/tracks.jsp'&gt;http://java.sun.com/javaone/sf/tracks.jsp&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-1758489742717313060?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/1758489742717313060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=1758489742717313060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1758489742717313060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1758489742717313060'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/10/javaone-conference.html' title='JavaOne Conference'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-8419929790488023495</id><published>2007-10-09T11:47:00.001+05:30</published><updated>2007-10-09T11:47:41.629+05:30</updated><title type='text'>ZFS</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Here is a great blog about ZFS from a Mac OS guy.&lt;br/&gt;&lt;br/&gt;http://drewthaler.blogspot.com/2007/10/don-be-zfs-hater.html&lt;br/&gt;&lt;br/&gt;ZFS rocks&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-8419929790488023495?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/8419929790488023495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=8419929790488023495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/8419929790488023495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/8419929790488023495'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/10/zfs.html' title='ZFS'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-1364626930449204912</id><published>2007-09-26T08:51:00.001+05:30</published><updated>2007-09-26T08:51:28.749+05:30</updated><title type='text'>No longer a scientist</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;About five months back i moved to another company called &lt;a href='http://www.sun.com'&gt;Sun Microsystems&lt;/a&gt;. From "Advanced Computing for Human Advancement" to "Network is the Computer".&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-1364626930449204912?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/1364626930449204912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=1364626930449204912' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1364626930449204912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1364626930449204912'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/09/no-longer-scientist.html' title='No longer a scientist'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-3518838406514544857</id><published>2007-05-01T18:37:00.000+05:30</published><updated>2007-05-01T18:38:52.111+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Format of passwd and shadow files</title><content type='html'>&lt;h2&gt;&lt;a name="ss2.2"&gt;Format of the /etc/passwd file&lt;/a&gt; &lt;/h2&gt;  &lt;p&gt;A non-shadowed &lt;code&gt;/etc/passwd&lt;/code&gt; file has the following format: &lt;/p&gt;&lt;blockquote&gt;&lt;code&gt; &lt;/code&gt;&lt;pre&gt;username:passwd:UID:GID:full_name:directory:shell&lt;br /&gt;&lt;/pre&gt; &lt;/blockquote&gt;  Where: &lt;dl&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;username&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;The user (login) name &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;passwd&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;The encoded password &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;UID&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Numerical user ID &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;GID&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Numerical default group ID &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;full_name&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;The user's full name - Actually this field is called the GECOS (General Electric Comprehensive Operating System) field and can store information other than just the full name.  The Shadow commands and manual pages refer to this field as the comment field. &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;directory&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;User's home directory (Full pathname) &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;shell&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;User's login shell (Full Pathname) &lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;  For example: &lt;blockquote&gt;&lt;code&gt; &lt;/code&gt;&lt;pre&gt;username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh&lt;br /&gt;&lt;/pre&gt; &lt;/blockquote&gt;  Where &lt;code&gt;Np&lt;/code&gt; is the salt and &lt;code&gt;ge08pfz4wuk&lt;/code&gt; is the &lt;em&gt;encoded&lt;/em&gt; password.  The encoded salt/password could just as easily have been &lt;code&gt;kbeMVnZM0oL7I&lt;/code&gt; and the two are exactly the same password.  There are 4096 possible encodings for the same password.  (The example password in  this case is 'password', a really &lt;em&gt;bad&lt;/em&gt; password). &lt;p&gt;Once the shadow suite is installed, the &lt;code&gt;/etc/passwd&lt;/code&gt; file would  instead contain: &lt;/p&gt;&lt;blockquote&gt;&lt;code&gt; &lt;/code&gt;&lt;pre&gt;username:x:503:100:Full Name:/home/username:/bin/sh&lt;br /&gt;&lt;/pre&gt; &lt;/blockquote&gt;  The &lt;code&gt;x&lt;/code&gt; in the second field in this case is now just a place holder. The format of the &lt;code&gt;/etc/passwd&lt;/code&gt; file really didn't change, it just no  longer contains the &lt;em&gt;encoded&lt;/em&gt; password.  This means that any program  that reads the &lt;code&gt;/etc/passwd&lt;/code&gt; file but does not actually need to verify passwords will still operate correctly. &lt;p&gt;The passwords are now relocated to the shadow file (usually  &lt;code&gt;/etc/shadow&lt;/code&gt; file). &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h2&gt;&lt;a name="ss2.3"&gt;Format of the shadow file&lt;/a&gt; &lt;/h2&gt;  &lt;p&gt;The &lt;code&gt;/etc/shadow&lt;/code&gt; file contains the following information: &lt;/p&gt;&lt;blockquote&gt;&lt;code&gt; &lt;/code&gt;&lt;pre&gt;username:passwd:last:may:must:warn:expire:disable:reserved&lt;br /&gt;&lt;/pre&gt; &lt;/blockquote&gt;  Where: &lt;dl&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;username&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;The User Name &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;passwd&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;The Encoded password &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;last&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Days since Jan 1, 1970 that password was last changed &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;may&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Days before password may be changed &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;must&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Days after which password must be changed &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;warn&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Days before password is to expire that user is warned &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;expire&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Days after password expires that account is disabled &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;disable&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Days since Jan 1, 1970 that account is disabled &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;&lt;code&gt;reserved&lt;/code&gt;&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;A reserved field &lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;  The previous example might then be: &lt;blockquote&gt;&lt;code&gt; &lt;/code&gt;&lt;pre&gt;username:Npge08pfz4wuk:9479:0:10000::::&lt;br /&gt;&lt;/pre&gt; &lt;/blockquote&gt; &lt;p&gt; &lt;/p&gt;&lt;h2&gt;&lt;a name="ss2.4"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-3518838406514544857?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/3518838406514544857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=3518838406514544857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3518838406514544857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3518838406514544857'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/05/format-of-passwd-and-shadow-files.html' title='Format of passwd and shadow files'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-4511834593680639681</id><published>2007-05-01T18:26:00.000+05:30</published><updated>2007-11-15T14:32:11.032+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Configuring Quota on Linux</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;Configuration of disk usage quotas on Linux - Perform the following as root:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Edit file &lt;tt&gt;/etc/fstab&lt;/tt&gt; to add qualifier "usrquota" or "grpquota" to the partition. The following file system mounting options can be specified in &lt;tt&gt;/etc/fstab&lt;/tt&gt;: grpquota, noquota, quota and usrquota. (These options are also accepted by the &lt;tt&gt;mount&lt;/tt&gt; command but ignored.) The filesystem when mounted will show up in the file &lt;tt&gt;/etc/mtab&lt;/tt&gt;, the list of all currently mounted filesystems.)   &lt;p&gt;   &lt;/p&gt;&lt;ul&gt;&lt;li&gt;To enable user quota support on a file system, add "usrquota" to the           fourth field containing the word "defaults".          &lt;dl&gt;&lt;dd&gt;          &lt;table width='573' height='104' cellspacing='1' cellpadding='4' border='1' bgcolor='#000000'&gt;          &lt;tbody&gt;&lt;tr bgcolor='#c0c0c0'&gt;&lt;td&gt;          &lt;pre&gt;...&lt;br/&gt;/dev/hda2     /home   ext3    defaults,usrquota              1    1&lt;br/&gt;...&lt;br/&gt;       &lt;/pre&gt;          &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;      &lt;/dd&gt;&lt;/dl&gt;&lt;/li&gt;&lt;p&gt;      &lt;/p&gt;&lt;li&gt;Replace "usrquota" with "grpquota", should you need group quota           support on a file system.          &lt;dl&gt;&lt;dd&gt;          &lt;table width='573' height='104' cellspacing='1' cellpadding='4' border='1' bgcolor='#000000'&gt;          &lt;tbody&gt;&lt;tr bgcolor='#c0c0c0'&gt;&lt;td&gt;          &lt;pre&gt;...&lt;br/&gt;/dev/hda2     /home   ext3    defaults,grpquota              1    1&lt;br/&gt;...&lt;br/&gt;       &lt;/pre&gt;          &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;      &lt;/dd&gt;&lt;/dl&gt;&lt;/li&gt;&lt;p&gt;      &lt;/p&gt;&lt;li&gt;Need both user quota and group quota support on a file system?          &lt;dl&gt;&lt;dd&gt;          &lt;table width='572' height='104' cellspacing='1' cellpadding='4' border='1' bgcolor='#000000'&gt;          &lt;tbody&gt;&lt;tr bgcolor='#c0c0c0'&gt;&lt;td&gt;          &lt;pre&gt;...&lt;br/&gt;/dev/hda2     /home   ext3    defaults,usrquota,grpquota     1    1&lt;br/&gt;...&lt;br/&gt;       &lt;/pre&gt;          &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;          This enables user and group quotas support on the &lt;tt&gt;/home&lt;/tt&gt; file system.          &lt;/dd&gt;&lt;/dl&gt;          &lt;p&gt;         &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;/li&gt;&lt;p&gt;   &lt;/p&gt;&lt;li&gt;&lt;tt&gt;touch /&lt;i&gt;partition&lt;/i&gt;/aquota.user&lt;/tt&gt;     &lt;br/&gt;     where the partition might be &lt;tt&gt;/home&lt;/tt&gt; or some partition defined in &lt;tt&gt;/etc/fstab&lt;/tt&gt;.     &lt;br/&gt;     then      &lt;br/&gt;     &lt;tt&gt;chmod 600 /&lt;i&gt;partition&lt;/i&gt;/aquota.user&lt;/tt&gt;       &lt;p&gt;       The file should be owned by root.       Quotas may also be set for groups by using the file &lt;tt&gt;aquota.group&lt;/tt&gt;       &lt;/p&gt;&lt;p&gt;       Quota file names:       &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Quota Version 2 (Linux 2.4/2.6 kernel: Red Hat 7.1+/8/9,FC 1-3): &lt;tt&gt;aquota.user, aquota.group&lt;/tt&gt;       &lt;/li&gt;&lt;li&gt;Quota Version 1 (Linux 2.2 kernel: Red Hat 6, 7.0): &lt;tt&gt;quota.user, quota.group&lt;/tt&gt;       &lt;/li&gt;&lt;/ul&gt;       The files can be converted/upgraded using the &lt;tt&gt;&lt;a href='http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=convertquota' set='yes'&gt;convertquota&lt;/a&gt;&lt;/tt&gt; command.   &lt;/li&gt;&lt;p&gt;   &lt;/p&gt;&lt;li&gt;Re-boot or re-mount file partition with quotas.       &lt;ul&gt;&lt;li&gt;Re-boot: &lt;tt&gt;shutdown -r now&lt;/tt&gt;       &lt;/li&gt;&lt;li&gt;Re-mount partition: &lt;tt&gt;mount -o remount &lt;i&gt;/partition&lt;/i&gt;&lt;/tt&gt;       &lt;/li&gt;&lt;/ul&gt;     &lt;br/&gt;After re-booting or re-mounting the file system, the partition       will show up in the list of mounted filesystems as having quotas.       Check &lt;tt&gt;/etc/mtab&lt;/tt&gt;:       &lt;dl&gt;&lt;dd&gt;       &lt;table width='291' height='104' cellspacing='1' cellpadding='4' border='1' bgcolor='#000000'&gt;       &lt;tbody&gt;&lt;tr bgcolor='#c0c0c0'&gt;&lt;td&gt;       &lt;pre&gt;...&lt;br/&gt;/dev/hda5 / ext3 rw,usrquota 0 0&lt;br/&gt;...&lt;br/&gt;    &lt;/pre&gt;       &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;       &lt;/dd&gt;&lt;/dl&gt;   &lt;p&gt;   &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;quotacheck -vgum /&lt;i&gt;partition&lt;/i&gt;&lt;/tt&gt;     &lt;br/&gt;or&lt;br/&gt;     &lt;tt&gt;quotacheck -vguma&lt;/tt&gt;     &lt;ul&gt;&lt;li&gt;For example (Linux kernel 2.4+: Red Hat 7.1+, Fedora): &lt;tt&gt;  quotacheck -vguma&lt;/tt&gt;     &lt;pre&gt;quotacheck: WARNING -  Quotafile //aquota.user was probably truncated. ...&lt;br/&gt;quotacheck: Scanning /dev/hda5 [/] done&lt;br/&gt;quotacheck: Checked 9998 directories and 179487 files&lt;br/&gt;  &lt;/pre&gt;     &lt;p&gt;     &lt;/p&gt;&lt;/li&gt;&lt;li&gt;For example (Linux kernel 2.2: Red Hat 6/7.0): &lt;tt&gt;  quotacheck -v  /dev/hda6 &lt;/tt&gt;   &lt;br/&gt;   System response:     &lt;pre&gt;      Scanning /dev/hda6 [/home] done&lt;br/&gt;    Checked 444 directories and 3136 files&lt;br/&gt;    Using quotafile /home/quota.user     &lt;br/&gt;    &lt;/pre&gt;      &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       Quotacheck is used to scan a file system for disk usages, and       updates the quota record file "quota.user/aquota.user" to the most recent state.       It is recommended thet quotacheck be run at bootup (part of Redhat       default installation)       &lt;/p&gt;&lt;p&gt;Man page: &lt;a href='http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=quotacheck' set='yes'&gt;quotacheck&lt;/a&gt; -  scan  a  filesystem for disk usage, create, check and repair quota files      &lt;/p&gt;&lt;p&gt;   &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;quotaon -av&lt;/tt&gt;         &lt;br/&gt;      System Response:  &lt;tt&gt;/dev/hda6: user quotas turned on&lt;/tt&gt;        &lt;p&gt;        quotaon - enable disk quotas on a file system.      &lt;br/&gt;      quotaoff - turn off disk quotas for a file system.       &lt;/p&gt;&lt;p&gt;Man page: &lt;a href='http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=quotaon' set='yes'&gt;quotaon&lt;/a&gt; - turn filesystem quotas on and off      &lt;/p&gt;&lt;p&gt;   &lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;tt&gt;edquota -u &lt;i&gt;user_id&lt;/i&gt;&lt;/tt&gt;     &lt;br/&gt;     Edit directly using vi editor commands. (See below for more info.)     &lt;br/&gt;     For example: &lt;tt&gt;edquota -u user1&lt;/tt&gt;       &lt;ul&gt;&lt;li&gt;System Response (RH 7+):       &lt;pre&gt;Disk quotas for user &lt;i&gt;user1&lt;/i&gt; (uid 501):&lt;br/&gt;Filesystem                   blocks       soft       hard     inodes     soft     hard&lt;br/&gt;/dev/hda5                      1944          0          0        120        0        0&lt;br/&gt;    &lt;/pre&gt;       &lt;ul&gt;&lt;li&gt;blocks: 1k blocks       &lt;/li&gt;&lt;li&gt;inodes: Number of entries in directory file       &lt;/li&gt;&lt;li&gt;soft: Max number of blocks/inodes user may have on partition before warning is issued and grace persiod countdown begins.         &lt;br/&gt;If set to "0" (zero) then no limit is enforced.       &lt;/li&gt;&lt;li&gt;hard: Max number of blocks/inodes user may have on partition.         &lt;br/&gt;If set to "0" (zero) then no limit is enforced.       &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       &lt;/p&gt;&lt;/li&gt;&lt;li&gt;System Response (RH 6):       &lt;pre&gt;           Quotas for user user1:&lt;br/&gt;         /dev/sdb6: blocks in use: 56, limits (soft = 0, hard = 0)&lt;br/&gt;                 inodes in use: 50, limits (soft = 0, hard = 0)&lt;br/&gt;    &lt;/pre&gt;       Something failed if you get the response:       &lt;pre&gt;           /dev/sdb6: blocks in use: 0, limits (soft = 0, hard = 0)&lt;br/&gt;                 inodes in use: 0, limits (soft = 0, hard = 0)&lt;br/&gt;&lt;br/&gt;    &lt;/pre&gt;            Edit limits:       &lt;pre&gt;           Quotas for user user1:&lt;br/&gt;         /dev/hda6: blocks in use: 992, limits (soft = 50000, hard = 55000)&lt;br/&gt;                 inodes in use: 71, limits (soft = 10000, hard = 11000)&lt;br/&gt;    &lt;/pre&gt;       &lt;/li&gt;&lt;/ul&gt;       &lt;p&gt;       If editing group quotas: &lt;tt&gt;edquota -g &lt;i&gt;group_name&lt;/i&gt;&lt;/tt&gt;       &lt;/p&gt;&lt;p&gt;Man page: &lt;a href='http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=edquota' set='yes'&gt;edquota&lt;/a&gt; - edit user quotas      &lt;/p&gt;&lt;p&gt;   &lt;/p&gt;&lt;/li&gt;&lt;li&gt;List quotas:     &lt;br/&gt;     &lt;tt&gt;quota -u &lt;i&gt;user_id&lt;/i&gt;&lt;/tt&gt;          &lt;p&gt;       For example: &lt;tt&gt;quota -u user1&lt;/tt&gt;     &lt;br/&gt;     System response:       &lt;/p&gt;&lt;pre&gt;Disk quotas for user user1 (uid 501):&lt;br/&gt;   Filesystem  blocks   quota   limit   grace   files   quota   limit   grace&lt;br/&gt;    /dev/hda6     992   50000   55000              71   10000   11000&lt;br/&gt;    &lt;/pre&gt;     If this does not respond similar to the above, then restart the computer: &lt;tt&gt;shutdown -r now&lt;/tt&gt;    &lt;p&gt;Man page: &lt;a href='http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=quota'&gt;quota&lt;/a&gt; - display disk usage and limits    &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br/&gt;&lt;span style='font-size: 130%;'&gt;Quota Reports&lt;br/&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Report on all users over quota limits: &lt;tt&gt;quota -q&lt;/tt&gt; &lt;/li&gt;&lt;li&gt;Quota summary report: &lt;tt&gt;repquota -a&lt;/tt&gt;     &lt;pre&gt;*** Report for user quotas on device /dev/hda5&lt;br/&gt;Block grace time: 7days; Inode grace time: 7days&lt;br/&gt;                       Block limits                File limits&lt;br/&gt;User            used    soft    hard  grace    used  soft  hard  grace&lt;br/&gt;----------------------------------------------------------------------&lt;br/&gt;root      -- 4335200       0       0         181502     0     0&lt;br/&gt;bin       --   15644       0       0            101     0     0&lt;br/&gt;...&lt;br/&gt;&lt;i&gt;user1&lt;/i&gt;     --    1944       0       0            120     0     0&lt;br/&gt;   &lt;/pre&gt; No limits shown with this user as limits are set to 0.    &lt;p&gt;Man page: &lt;a href='http://node1.yo-linux.com/cgi-bin/man2html?cgi_command=repquota' set='yes'&gt;repquota&lt;/a&gt; - summarize quotas for a filesystem. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;&lt;span style='font-size: 130%;'&gt;Cron:&lt;br/&gt;&lt;/span&gt; Quotacheck should scan the file system via cronjob periodically (say, every week?). Add a script to the /etc/cron.weekly/ directory.&lt;br/&gt;File: /etc/cron.weekly/runQuotacheck  &lt;ul&gt;&lt;li&gt;Linux Kernel 2.4: Red Hat 7.1 - Fedora Core 3: &lt;dl&gt;&lt;dd&gt; &lt;table width='234' height='72' cellspacing='1' cellpadding='4' border='1' bgcolor='#000000'&gt; &lt;tbody&gt;&lt;tr bgcolor='#c0c0c0'&gt;&lt;td&gt; &lt;pre&gt;#!/bin/bash&lt;br/&gt;/sbin/quotacheck -vguma&lt;br/&gt;&lt;/pre&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;/li&gt;&lt;li&gt;Linux Kernel 2.2: Red Hat 6/7.0: &lt;dl&gt;&lt;dd&gt; &lt;table width='232' height='72' cellspacing='1' cellpadding='4' border='1' bgcolor='#000000'&gt; &lt;tbody&gt;&lt;tr bgcolor='#c0c0c0'&gt;&lt;td&gt; &lt;pre&gt;#!/bin/bash&lt;br/&gt;/sbin/quotacheck -v -a&lt;br/&gt;&lt;/pre&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/dd&gt;&lt;/dl&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; (Remember to &lt;tt&gt;chmod +x /etc/cron.weekly/runQuotacheck&lt;/tt&gt;)&lt;/p&gt;&lt;br/&gt;&lt;p&gt;&lt;span style='font-size: 130%;'&gt;EdQuota Notes:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The "edquota" command puts you into a "vi" editing mode so  knowledge of the "vi" editor is necessary.  Another editor may be specified with the &lt;b&gt;EDITOR&lt;/b&gt;  environment variable. You are &lt;b&gt;NOT&lt;/b&gt; editing the quota.user file directly.  The /&lt;i&gt;partition&lt;/i&gt;/quota.user or quota.group file is a binary file which you do not  edit directly.  The command edquota gives you an ascii interface with the text prepared for you. When you ":wq" to save the file from the vi session,  it is converted to binary by the edquota command and stored in the quota.user file.  &lt;/p&gt;&lt;p&gt; Assigning quota for a bunch of users with the same value. To rapidly set quotas for all users, on my system to the same value as user user1, I would first edit user &lt;tt&gt;user1&lt;/tt&gt;'s quota information by hand,  then execute: &lt;/p&gt;&lt;pre&gt;  edquota -p user1 `awk -F: '$3 &amp;amp;gt; 499 {print $1}' /etc/passwd`&lt;br/&gt;&lt;/pre&gt; &lt;p&gt; This assumes that the user uid's start from 500 and increment upwards. "blocks in use" is the total number of blocks (in kilobytes) a user has comsumed on a partition. "inodes in use" is the total number of files a user has on a partition. &lt;/p&gt;&lt;p&gt; edquota options: &lt;/p&gt;&lt;table border='1'&gt; &lt;tbody&gt;&lt;tr bgcolor='#c0c0c0'&gt;&lt;th&gt;Option&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-r&lt;br/&gt;-m&lt;/td&gt;&lt;td valign='top'&gt;Edit quotas on remote server using RPC. Remote server must be configured with the daemon &lt;tt&gt;rpc.rquotad&lt;/tt&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-u&lt;/td&gt;&lt;td&gt;Edit user quota&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-g&lt;/td&gt;&lt;td&gt;Edit group quota&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-p &lt;i&gt;user-id&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Duplicate the quotas based on existing prototype user&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-F &lt;i&gt;format&lt;/i&gt;&lt;br/&gt;-F vfsold&lt;br/&gt;-F vfsv0&lt;br/&gt;-F rpc&lt;br/&gt;-F xfs&lt;/td&gt;&lt;td&gt;Format:&lt;br/&gt;vfsold - version 1&lt;br/&gt;vfsv0 - version 2&lt;br/&gt;rpc - quotas over NFS&lt;br/&gt;xfs - quotas for XFS filesystem&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-f &lt;i&gt;/file-system&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Perform on specified filesystem. Default is to apply on all filesystems with quotas&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-t&lt;/td&gt;&lt;td&gt;Edit  the  soft  time  limits for each filesystem.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;-T&lt;/td&gt;&lt;td&gt;Edit time for user/group when softlimit is enforced. Specify number and unit or "unset"&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt; &lt;b&gt;Soft Limit and Hard Limits:&lt;/b&gt; &lt;/p&gt;&lt;dl&gt;&lt;dd&gt; Soft limit indicates the maximum amount of disk usage a quota user has on a partition. When combined with "grace period", it acts as the border line, which a quota user is issued warnings about his impending quota violation when passed. Hard limit works only when "grace period" is set. It specifies the absolute limit on the disk usage, which a quota user can't go beyond his "hard limit".  &lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;b&gt;Grace Period:&lt;/b&gt; &lt;/p&gt;&lt;dl&gt;&lt;dd&gt; "Grace Period" is configured with the command "&lt;tt&gt;edquota -t&lt;/tt&gt;", "grace period" is a time limit before the "soft limit" is enforced for a file system with quota enabled.  Time units of sec(onds), min(utes), hour(s), day(s), week(s), and month(s) can be used. This is what you'll see with the command "&lt;tt&gt;edquota -t&lt;/tt&gt;": &lt;p&gt; System response: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Linux Kernel 2.4+: Red Hat 7.1+/Fedora: &lt;pre&gt;Grace period before enforcing soft limits for users:&lt;br/&gt;Time units may be: days, hours, minutes, or seconds&lt;br/&gt; Filesystem             Block grace period     Inode grace period&lt;br/&gt; /dev/hda5                     7days                  7days&lt;br/&gt;&lt;/pre&gt; &lt;/li&gt;&lt;li&gt;Linux Kernel 2.2: Red Hat 6/7.0: &lt;pre&gt;Time units may be: days, hours, minutes, or seconds&lt;br/&gt;Grace period before enforcing soft limits for users:&lt;br/&gt;/dev/hda2: block grace period: 0 days, file grace period: 0 days&lt;br/&gt;&lt;/pre&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt; Change the 0 days part to any length of time you feel reasonable.  A good choice might be 7 days (or 1 week).  &lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt; &lt;p&gt; &lt;b&gt;Quota files:&lt;/b&gt; (non-XFS file systems) &lt;/p&gt;&lt;dl&gt;&lt;dd&gt; The edquota command will create/edit the quota file at the root of the file  system. (See &lt;tt&gt;/etc/mtab&lt;/tt&gt; for the list of the currently mounted filesystems.) &lt;ul&gt;&lt;li&gt;Version 2: &lt;tt&gt;aquota.user, aquota.group&lt;/tt&gt; &lt;/li&gt;&lt;li&gt;Version 1: &lt;tt&gt;quota.user, quota.group&lt;/tt&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;div class='blogger-post-footer'&gt;Suji's blog&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-4511834593680639681?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/4511834593680639681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=4511834593680639681' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/4511834593680639681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/4511834593680639681'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/05/configuring-quota-on-linux.html' title='Configuring Quota on Linux'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-1647638315145380380</id><published>2007-05-01T18:19:00.000+05:30</published><updated>2007-05-01T18:23:35.677+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Self Signed SSL certificates</title><content type='html'>&lt;p class="info"&gt;Use self-signed certificates to test single systems, such as a test web server. Self-signed certificates become impractical in any other case. A local &lt;a href="http://sial.org/howto/openssl/ca/"&gt;&lt;acronym title="Certificate Authority"&gt;CA&lt;/acronym&gt;&lt;/a&gt;, while more complex to setup, reduces the number of keys that need to be distributed for verification, and properly replicates a real world certificate environment.&lt;/p&gt;&lt;p class="info"&gt;Creation of certificates requires the &lt;tt class="cmd"&gt;openssl&lt;/tt&gt; utility. This command should be part of an OpenSSL installation, though may be installed out of the standard search path in &lt;tt class="file"&gt;/usr/local/ssl/bin&lt;/tt&gt; or elsewhere.&lt;/p&gt;&lt;p class="data-shell"&gt;$ &lt;kbd&gt;which openssl&lt;/kbd&gt;&lt;br /&gt;/usr/bin/openssl&lt;/p&gt;&lt;ol class="enum"&gt;&lt;li&gt;Generate the Rivest, Shamir and Adleman (RSA) key&lt;/li&gt;&lt;p class="info"&gt;OpenSSL can generate a Digital Signature Algorithm (DSA) key (with the &lt;tt class="cmd-arg"&gt;gendsa&lt;/tt&gt; option), though for compatibility &lt;acronym title="Rivest, Shamir and Adleman"&gt;RSA&lt;/acronym&gt; keys are most frequently used. &lt;a href="http://www.openssl.org/docs/apps/genrsa.html"&gt;Learn more about the &lt;tt class="cmd-arg"&gt;genrsa&lt;/tt&gt; option to &lt;tt class="cmd"&gt;openssl&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p class="data-shell"&gt;$ &lt;kbd&gt;openssl genrsa 1024 &gt; host.key&lt;/kbd&gt;&lt;br /&gt;$ &lt;kbd&gt;chmod 400 host.key&lt;/kbd&gt;&lt;/p&gt;&lt;p class="info"&gt;Modern systems should provide a random device and sufficient entropy for key generation. &lt;em class="em"&gt;The data in the &lt;tt class="file"&gt;host.key&lt;/tt&gt; file must be protected&lt;/em&gt;, as anyone with this information can decrypt traffic encrypted with this key.&lt;/p&gt;&lt;li&gt;Create the Certificate&lt;/li&gt;&lt;p class="info"&gt;&lt;a set="yes" href="http://www.openssl.org/docs/apps/req.html"&gt;Learn more about the &lt;tt class="cmd-arg"&gt;req&lt;/tt&gt; option to &lt;tt class="cmd"&gt;openssl&lt;/tt&gt;&lt;/a&gt;. The &lt;tt class="cmd-arg"&gt;-new&lt;/tt&gt;, &lt;tt class="cmd-arg"&gt;-x509&lt;/tt&gt; and &lt;tt class="cmd-arg"&gt;-nodes&lt;/tt&gt; arguments are required to create an unencrypted certificate. The &lt;tt class="cmd-arg"&gt;-days&lt;/tt&gt; argument specifies how long the certificate will be valid for.&lt;/p&gt;&lt;p class="data-shell"&gt;$ &lt;kbd&gt;openssl req -new -x509 -nodes -sha1 -days 365 -key host.key &gt; host.cert&lt;/kbd&gt;&lt;/p&gt;&lt;p class="info"&gt;Questions may be asked to fill out the certificate’s &lt;tt class="code"&gt;x509&lt;/tt&gt; attributes. The answers should be adjusted for the locale:&lt;/p&gt;&lt;p class="data"&gt;Country Name (2 letter code) [AU]:&lt;kbd class="input"&gt;US&lt;/kbd&gt;&lt;br /&gt;State or Province Name (full name) [Some-State]:&lt;kbd class="input"&gt;Washington&lt;/kbd&gt;&lt;br /&gt;Locality Name (eg, city) []:&lt;kbd class="input"&gt;Seattle&lt;/kbd&gt;&lt;br /&gt;Organization Name (eg, company) [Internet Widgits Pty Ltd]:&lt;kbd class="input"&gt;Sial.org&lt;/kbd&gt;&lt;br /&gt;Organizational Unit Name (eg, section) []:&lt;br /&gt;Common Name (eg, YOUR name) []:&lt;kbd class="input"&gt;mail.example.org&lt;/kbd&gt;&lt;br /&gt;Email Address []:&lt;kbd class="input"&gt;postmaster@example.org&lt;/kbd&gt;&lt;/p&gt;&lt;p class="info"&gt;The &lt;tt class="code"&gt;Common Name&lt;/tt&gt; field usually must exactly match the hostname of the system the certificate will be used on; otherwise, clients should complain about a certificate to hostname mismatch.&lt;/p&gt;&lt;p class="info"&gt;The certificate data in the &lt;tt class="file"&gt;host.cert&lt;/tt&gt; file does not need to be protected like the private key file does. In fact, it will likely need to be transferred to all the client systems that need to verify the key of the server being connected to. If this is the case, setup a &lt;a href="http://sial.org/howto/openssl/ca/"&gt;&lt;acronym title="Certificate Authority"&gt;CA&lt;/acronym&gt;&lt;/a&gt;, and distribute the signing certificate to the clients instead of each self-signed certificate.&lt;/p&gt;&lt;li&gt;Extract Metadata (Optional)&lt;/li&gt;&lt;p class="info"&gt;Optionally, various certificate metadata can be saved for quick reference, for example to verify the key fingerprint. &lt;a style="color: rgb(0, 0, 0);" set="yes" href="http://www.openssl.org/docs/apps/x509.html"&gt;Learn more about the &lt;tt class="cmd-arg"&gt;x509&lt;/tt&gt; option to &lt;tt class="cmd"&gt;openssl&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p class="data-shell"&gt;$ &lt;kbd&gt;openssl x509 -noout -fingerprint -text &lt;&gt; host.info&lt;/kbd&gt;&lt;/p&gt;&lt;li&gt;Combine Key and Certificate Data (Optional)&lt;/li&gt;&lt;p class="info"&gt;Some applications may require that the key and certificate data be in a single file. I recommend keeping the key and certificate data separate if possible, as the key data needs to be protected, and the certificate data available to all. &lt;em class="em"&gt;Combining the data means the resulting file must be protected like a key file&lt;/em&gt;.&lt;/p&gt;&lt;p class="data-shell"&gt;$ &lt;kbd&gt;cat host.cert host.key &gt; host.pem \&lt;br /&gt; &amp;&amp;amp; rm host.key&lt;/kbd&gt;&lt;br /&gt;$ &lt;kbd&gt;chmod 400 host.pem&lt;/kbd&gt;&lt;/p&gt;&lt;/ol&gt;&lt;p class="info"&gt;The &lt;tt class="file"&gt;host.cert&lt;/tt&gt; certificate data will need to be &lt;a set="yes" href="http://sial.org/howto/openssl/exporting/"&gt;exported to client systems&lt;/a&gt; for use in testing.&lt;/p&gt;&lt;br /&gt;&lt;p class="info"&gt;The openssl.cnf file&lt;/p&gt;&lt;p class="info"&gt;Localize the system &lt;tt class="file"&gt;openssl.cnf&lt;/tt&gt; to include relevant &lt;tt class="code"&gt;X509&lt;/tt&gt; attributes of the certificate. This will save typing and avoid errors when creating certificates. The location of this file varies by system.&lt;/p&gt;&lt;p class="data-shell"&gt;$ &lt;kbd&gt;grep Name_default /etc/ssl/openssl.cnf&lt;/kbd&gt;&lt;br /&gt;countryName_default             = US&lt;br /&gt;stateOrProvinceName_default     = Washington&lt;br /&gt;0.organizationName_default      = Sial.org&lt;br /&gt;&lt;span class="comment"&gt;#1.organizationName_default     = World Wide Web Pty Ltd&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;#organizationalUnitName_default =&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-1647638315145380380?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/1647638315145380380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=1647638315145380380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1647638315145380380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1647638315145380380'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/05/self-signed-ssl-certificates.html' title='Self Signed SSL certificates'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-6491414487043595769</id><published>2007-04-27T19:03:00.000+05:30</published><updated>2007-04-27T19:13:12.314+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>UW to Dovecot migration</title><content type='html'>&lt;pre&gt;Configuration primer for a Migration from UW&lt;br /&gt;IMAP with pine, Thunderbird and squirrelmail as client. For compatibility&lt;br /&gt;the mbox format is used.&lt;br /&gt;&lt;br /&gt;A description for pine with imap acces without entering any password is&lt;br /&gt;also discussed. Please use dovecot 1.0beta1 or later for correct handling&lt;br /&gt;with pine.&lt;br /&gt;&lt;br /&gt;Short overview of Mail folders:&lt;br /&gt;===============================&lt;br /&gt;                   | Used             | elm             | pine             |   Thunderbird                 | squirrelmail | UW imapd | dovecot  |&lt;br /&gt;Base directoy      | ~/Mail           | ~/Mail          | ~/mail           | as configured                 | mail         |          |          |&lt;br /&gt;Sent Folder        | ~/Mail/sent      | ~/Mail/sent     | ~/mail/sent-mail | Sent                          | Sent         |          |          |&lt;br /&gt;Trash Folder       | ~/Mail/Trash     |                 |       -          | Trash                         | Trash        |          |          |&lt;br /&gt;Drafts Folder      | ~/Mail/Drafts    |                 | saved-messages   | Drafts                        | Drafts       |          |          |&lt;br /&gt;Templates          | ~/Mail/Templates |                 |                  | Templates                     |              |          |          |&lt;br /&gt;Unsent Folder      | wie Thunderbird  |                 |                  | Local Folders/Unsent Messages |              |          |          |&lt;br /&gt;Postponed          |                  |                 | postponed-msgs   |                               |              |          |          |&lt;br /&gt;Canceled Mail      |                  | ~/Canceled.mail | ~/dead.letter    |                               |              |          |          |&lt;br /&gt;Personal namespace |                  |                 |                  |                               |              |          |          |&lt;br /&gt;Public namespace   |                  |                 |                  |                               |              | #news    |          |&lt;br /&gt;Other Users        |                  |                 |                  |                               |              |          |          |&lt;br /&gt;&lt;br /&gt;pine setup:&lt;br /&gt;===========&lt;br /&gt;SETUP(S)/collectionLists(L)/Mail&lt;br /&gt;Just add the following to Server:&lt;br /&gt;localhost/notls&lt;br /&gt;&lt;br /&gt;Before:&lt;br /&gt;Nickname  : Mail&lt;br /&gt;Server    :&lt;br /&gt;Path      : Mail/&lt;br /&gt;View      :&lt;br /&gt;&lt;br /&gt;After:&lt;br /&gt;Nickname  : Mail&lt;br /&gt;Server    : localhost/notls&lt;br /&gt;Path      : Mail/&lt;br /&gt;View      :&lt;br /&gt;&lt;br /&gt;In ~/.pinerc modify the following configuration parameters:&lt;br /&gt;mail-check-interval=15&lt;br /&gt;rsh-open-timeout=30000&lt;br /&gt;rsh-path=&lt;br /&gt;rsh-command=/usr/sbin/dovecot --exec-mail imap&lt;br /&gt;# For large Mailboxes&lt;br /&gt;tcp-read-warning-timeout=180&lt;br /&gt;&lt;br /&gt;For details have a look at:&lt;br /&gt;&lt;a set="yes" href="http://www.unix.org.ua/orelly/networking_2ndEd/ssh/ch11_03.htm"&gt;http://www.unix.org.ua/orelly/networking_2ndEd/ssh/ch11_03.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.unc.edu/cgi-bin/howto?howto=pine-imap"&gt;http://www.cs.unc.edu/cgi-bin/howto?howto=pine-imap&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ii.com/internet/messaging/pine/"&gt;http://www.ii.com/internet/messaging/pine/&lt;/a&gt;&lt;br /&gt;&lt;a set="yes" href="http://www.umanitoba.ca/acn/docs/pine/pine-imap.html"&gt;http://www.umanitoba.ca/acn/docs/pine/pine-imap.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Migration from UW Imapd to dovecot:&lt;br /&gt;===================================&lt;br /&gt;Disable UW Imapd in xinetd&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.dovecot.org/Migration"&gt;http://wiki.dovecot.org/Migration&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Migrate Mailboxes:&lt;br /&gt;&lt;a href="http://wiki.dovecot.org/uw2dovecot.sh"&gt;http://wiki.dovecot.org/uw2dovecot.sh&lt;/a&gt;&lt;br /&gt;or&lt;br /&gt;cd $USER&lt;br /&gt;cp .mailboxlist .subscriptions&lt;br /&gt;&lt;br /&gt;dovecot configuration:&lt;br /&gt;Config (/etc/dovecot.conf):&lt;br /&gt;UW Imapd compatible&lt;br /&gt;protocols = imaps&lt;br /&gt;&lt;br /&gt;default_mail_env = mbox:~:INBOX=/var/mail/%u&lt;br /&gt;&lt;br /&gt;mail_full_filesystem_access = yes&lt;br /&gt;&lt;br /&gt;mbox_read_locks = fcntl&lt;br /&gt;mbox_write_locks = fcntl&lt;br /&gt;&lt;br /&gt;mbox_lazy_writes=no&lt;br /&gt;&lt;br /&gt;Self signed Certificate for SSL:&lt;br /&gt;cd /etc/pki/dovecot/private&lt;br /&gt;openssl genrsa -out dovecot.pem 2048&lt;br /&gt;openssl req -new -x509 -nodes -sha1 -days 3650 -key dovecot.pem &gt;../dovecot.pem&lt;br /&gt;Enter the data for the certificate&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sial.org/howto/openssl/self-signed/"&gt;http://sial.org/howto/openssl/self-signed/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;dovecot debugging:&lt;br /&gt;==================&lt;br /&gt;Config (/etc/dovecot.conf):&lt;br /&gt;#GW:&lt;br /&gt;mail_executable = /usr/libexec/dovecot/rawlog /usr/libexec/dovecot/imap&lt;br /&gt;Directory ~/dovecot.rawlog must exist and the input/output will be logged&lt;br /&gt;there&lt;br /&gt;&lt;br /&gt;For ethereal debugging use the following dovecot configuration:&lt;br /&gt;Sniffing:&lt;br /&gt;#GW:&lt;br /&gt;protocols = imap imaps&lt;br /&gt;&lt;br /&gt;#GW:&lt;br /&gt;disable_plaintext_auth = no&lt;br /&gt;&lt;br /&gt;maildir/mbox documentation:&lt;br /&gt;===========================&lt;br /&gt;&lt;a set="yes" href="http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=fw&amp;db=man&amp;amp;fname=/usr/freeware/catman/u_man/cat5/mbox.Z"&gt;http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=fw&amp;db=man&amp;amp;fname=/usr/freeware/catman/u_man/cat5/mbox.Z&lt;/a&gt;&lt;br /&gt;&lt;a href="http://people.redhat.com/rkeech/maildir-migration.txt"&gt;http://people.redhat.com/rkeech/maildir-migration.txt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;squirrelmail:&lt;br /&gt;=============&lt;br /&gt;$use_imap_tls = true;&lt;br /&gt;$imapPort               = 993;&lt;br /&gt;$imap_server_type ='dovecot';&lt;br /&gt;$optional_delimiter = 'detect';&lt;br /&gt;$force_username_lowercase = true;&lt;br /&gt;&lt;br /&gt;$default_folder_prefix          = '~/Mail/';&lt;br /&gt;$sent_folder                    = 'sent';&lt;br /&gt;$show_prefix_option             = false;&lt;br /&gt;$show_contain_subfolders_option = false;&lt;br /&gt;&lt;br /&gt;Thunderbird Plugins&lt;br /&gt;===================&lt;br /&gt;With imap Folder the Xpunge plugin is very usefull to have consitent&lt;br /&gt;mailboxes.&lt;br /&gt;&lt;br /&gt;Xpunge&lt;br /&gt;&lt;a set="yes" href="https://addons.mozilla.org/extensions/moreinfo.php?application=thunderbird&amp;category=Top%20Rated&amp;amp;numpg=10&amp;id=1279"&gt;https://addons.mozilla.org/extensions/moreinfo.php?application=thunderbird&amp;amp;category=Top%20Rated&amp;numpg=10&amp;amp;id=1279&lt;/a&gt;&lt;br /&gt;&lt;a set="yes" href="http://www.cs.ualberta.ca/%7Etegos/mozilla/tb/"&gt;http://www.cs.ualberta.ca/~tegos/mozilla/tb/&lt;/a&gt; &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-6491414487043595769?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/6491414487043595769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=6491414487043595769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6491414487043595769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6491414487043595769'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/uw-to-dovecot-migration.html' title='UW to Dovecot migration'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-6117276021104313901</id><published>2007-04-27T18:59:00.000+05:30</published><updated>2007-04-27T19:05:53.716+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Securing Apache through SSL</title><content type='html'>&lt;h2&gt;SSL Configuration&lt;/h2&gt; &lt;p&gt;The previous sections introduced the (not-so-basic) concepts behind SSL and you have learned how to generate keys and certificates. Now, finally, you can configure Apache to support SSL. &lt;tt&gt;mod_ssl&lt;/tt&gt; must either be compiled statically or, if you have compiled as a loadable module, the appropriate &lt;tt&gt;LoadModule&lt;/tt&gt; directive must be present in the file.&lt;/p&gt; &lt;p&gt;If you compiled Apache yourself, a new Apache configuration file, named &lt;tt&gt;ssl.conf&lt;/tt&gt;, should be present in the &lt;tt&gt;conf/&lt;/tt&gt; directory. That file contains a sample Apache SSL configuration and is referenced from the main &lt;tt&gt;httpd.conf&lt;/tt&gt; file via an &lt;tt&gt;Include&lt;/tt&gt; directive.&lt;/p&gt; &lt;p&gt;If you want to start your configuration from scratch, you can add the following configuration snippet to your Apache configuration file:&lt;/p&gt; &lt;pre&gt;Listen 80&lt;br /&gt;Listen 443&lt;br /&gt;&lt;virtualhost&gt;&lt;br /&gt;ServerName http://www.example.com&lt;br /&gt;SSLEngine on&lt;br /&gt;SSLCertificateFile \&lt;br /&gt;/usr/local/ssl/install/openssl/certs/http://www.example.com.cert&lt;br /&gt;SSLCertificateKeyFile \&lt;br /&gt;/usr/loca/ssl/install/openssl/certs/http://www.example.com.key&lt;br /&gt;&lt;/virtualhost&gt;&lt;/pre&gt; &lt;p&gt;With the previous configuration, you set up a new virtual host that will listen to port 443 (the default port for HTTPS) and you enable SSL on that virtual host with the SSLEngine directive.&lt;/p&gt; &lt;p&gt;You need to indicate where to find the server's certificate and the file containing the associated key. You do so by using &lt;tt&gt;SSLCertificateFile&lt;/tt&gt; and &lt;tt&gt;SSLCertificateKeyfile&lt;/tt&gt; directives.&lt;/p&gt; &lt;h3&gt;Starting the Server&lt;/h3&gt; &lt;p&gt;Now you can stop the server if it is running, and start it again. If your key is protected by a pass phrase, you will be prompted for it. After this, Apache will start and you should be able to connect securely to it via the &lt;tt&gt;https:&lt;/tt&gt;&lt;tt&gt;//http://www.example.com/ &lt;/tt&gt;URL.&lt;/p&gt; &lt;p&gt;If you compiled and installed Apache yourself, in many of the vendor configuration files, you can see that the SSL directives are surrounded by an &lt;tt&gt;&lt;ifdefine&gt;&lt;/tt&gt; block. That allows for conditional starting of the server in SSL mode. If you start the &lt;tt&gt;httpd&lt;/tt&gt; server binary directly, you can pass it the &lt;tt&gt;-DSSL&lt;/tt&gt; flag at startup. You can also use the &lt;tt&gt;apachectl&lt;/tt&gt; script by issuing the &lt;tt&gt;apachectl startssl&lt;/tt&gt; command. Finally, if you always want to start Apache with SSL support, you can just remove the &lt;tt&gt;&lt;ifdefine&gt;&lt;/tt&gt; section and start Apache in the usual way.&lt;/p&gt; &lt;p&gt;If you are unable to successfully start your server, check the Apache error log for clues about what might have gone wrong. For example, if you cannot bind to the port, make sure that another Apache is not running already. You must have administrator privileges to bind to port 443; otherwise, you can change the port to 8443 and access the URL via &lt;tt&gt;https:&lt;/tt&gt;&lt;tt&gt;//http://www.example.com:8443&lt;/tt&gt;.&lt;/p&gt; &lt;h3&gt;Configuration Directives&lt;/h3&gt; &lt;p&gt;&lt;tt&gt;mod_ssl&lt;/tt&gt; provides comprehensive technical reference documentation. This information will not be reproduced here; rather, I will explain what is possible and which configuration directives you need to use. You can then refer to the online SSL documentation bundled with Apache for the specific syntax or options.&lt;/p&gt; &lt;h4&gt;Algorithms&lt;/h4&gt; &lt;p&gt;You can control which ciphers and protocols are used via the &lt;tt&gt;SSLCipherSuite&lt;/tt&gt; and &lt;tt&gt;SSLProtocol&lt;/tt&gt; commands. For example, you can configure the server to use only strong encryption with the following configuration:&lt;/p&gt; &lt;pre&gt;SSLProtocol all&lt;br /&gt;SSLCipherSuite HIGH:MEDIUM&lt;/pre&gt; &lt;p&gt;See the Apache documentation for a detailed description of all available ciphers and protocols.&lt;/p&gt; &lt;h4&gt;Client Certificates&lt;/h4&gt; &lt;p&gt;Similarly to how clients can verify the identity of servers using server certificates, servers can verify the identity of clients by requiring a client certificate and making sure that it is valid.&lt;/p&gt; &lt;p&gt;&lt;tt&gt;SSLCACertificateFile&lt;/tt&gt; and &lt;tt&gt;SSLCACertificatePath&lt;/tt&gt; are two Apache directives used to specify trusted Certificate Authorities. Only clients presenting certificates signed by these CAs will be allowed access to the server.&lt;/p&gt; &lt;p&gt;The &lt;tt&gt;SSLCACertificateFile&lt;/tt&gt; directive takes a file containing a list of CAs as an argument. Alternatively, you could use the &lt;tt&gt;SSLCACertificatePath&lt;/tt&gt; directive to specify a directory containing trusted CA files. Those files must have a specific format, described in the documentation. &lt;tt&gt;SSLVerifyClient&lt;/tt&gt; enables or disables client certificate verification. &lt;tt&gt;SSLVerifyDepth&lt;/tt&gt; controls the number of delegation levels allowed for a client certificate. The &lt;tt&gt;SSLCARevocationFile&lt;/tt&gt; and &lt;tt&gt;SSLCARevocationPath&lt;/tt&gt; directives enable you to specify certificate revocation lists to invalidate certificates.&lt;/p&gt; &lt;h4&gt;Performance&lt;/h4&gt; &lt;p&gt;SSL is a protocol that requires intensive calculations. &lt;tt&gt;mod_ssl&lt;/tt&gt; and OpenSSL allow several ways to speed up the protocol by caching some of the information about the connection. You can cache certain settings using the &lt;tt&gt;SSLSessionCache&lt;/tt&gt; and &lt;tt&gt;SSLSessionCacheTimeout&lt;/tt&gt; directives. There is also built-in support for specialized cryptographic hardware that will perform the CPU-intensive computations and offload the main processor. The &lt;tt&gt;SSLMutex&lt;/tt&gt; directive enables you to control the internal locking mechanism of the SSL engine. The &lt;tt&gt;SSLRandomSeed&lt;/tt&gt; directive enables you to specify the mechanism to seed the random-number generator required for certain operations. The settings of both directives can have an impact on performance.&lt;/p&gt; &lt;h4&gt;Logging&lt;/h4&gt; &lt;p&gt;&lt;tt&gt;mod_ssl&lt;/tt&gt; hooks into Apache's logging system and provides support for logging any SSL-related aspect of the request, ranging from the protocol used to the information contained in specific elements of a client certificate. This information can also be passed to CGI scripts via environment variables by using the &lt;tt&gt;StdEnvVars&lt;/tt&gt; argument to the &lt;tt&gt;Options&lt;/tt&gt; directive. You can get a listing of the available SSL variables at &lt;a set="yes" href="http://httpd.apache.org/docs-2.0/ssl/ssl_compat.html" target="new"&gt;http://httpd.apache.org/docs-2.0/ssl/ssl_compat.html&lt;/a&gt;.&lt;/p&gt; &lt;h3&gt;The &lt;tt&gt;SSLOptions&lt;/tt&gt; Directive&lt;/h3&gt; &lt;p&gt;Many of these options can be applied in a per-directory or per-location basis. The SSL parameters might be renegotiated for those URLs. This can be controlled via the &lt;tt&gt;SSLOptions&lt;/tt&gt; directive.&lt;/p&gt; &lt;p&gt;The &lt;tt&gt;SSLPassPhraseDialog&lt;/tt&gt; directive can be used to avoid having to enter a pass phrase at startup by designating an external program that will be invoked to provide it.&lt;/p&gt; &lt;h3&gt;Access Control&lt;/h3&gt; &lt;p&gt;The &lt;tt&gt;SSLRequireSSL&lt;/tt&gt; directive enables you to force clients to access the server using SSL. The &lt;tt&gt;SSLRequire&lt;/tt&gt; directive enables you to specify a set of rules that have to be met before the client is allowed access. &lt;tt&gt;SSLRequire&lt;/tt&gt; syntax can be very complex, but itallows an incredible amount of flexibility. The example shows a sample configuration from the &lt;tt&gt;mod_ssl&lt;/tt&gt; documentation that restricts access based on the client certificate and the network the request came from. Access will be granted if one of the following is met:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p&gt;The SSL connection does not use an export (weak) cipher or a NULL cipher, the certificate has been issued by a particular CA and for a particular group, and the access takes place during workdays (Monday to Friday) and working hours (8:00 a.m. to 8:00 p.m.).&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The client comes from an internal, trusted network.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;You can check the documentation for &lt;tt&gt;SSLRequire&lt;/tt&gt; for a complete syntax reference.&lt;/p&gt; &lt;h4&gt;&lt;b&gt; &lt;/b&gt;&lt;tt&gt;SSLRequire&lt;/tt&gt; Example&lt;/h4&gt; &lt;pre&gt;SSLRequire (  %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \&lt;br /&gt;     and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \&lt;br /&gt;     and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \&lt;br /&gt;     and %{TIME_WDAY} &gt;= 1 and %{TIME_WDAY} &lt;= 5 \&lt;br /&gt;     and %{TIME_HOUR} &gt;= 8 and %{TIME_HOUR} &lt;= 20    ) \&lt;br /&gt;     or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/&lt;/pre&gt; &lt;h3&gt;Reverse Proxy with SSL&lt;/h3&gt; Although at the time this book was written the SSL reverse proxy functionality was not included in &lt;tt&gt;mod_ssl&lt;/tt&gt; for Apache 2.0, it is likely to be included in the future. That functionality enables you to encrypt the reverse proxy connection to backend servers and to perform client and server certificate authentication on that connection. The related directives are &lt;tt&gt;SSLProxyMachineCertificatePath&lt;/tt&gt;, &lt;tt&gt;SSLProxyMachineCertificateFile&lt;/tt&gt;, &lt;tt&gt;SSLProxyVerify&lt;/tt&gt;, &lt;tt&gt;SSLProxyVerifyDepth&lt;/tt&gt;, &lt;tt&gt;SSLProxyCACertificatePath&lt;/tt&gt;, &lt;tt&gt;SSLProxyEngine&lt;/tt&gt;, and &lt;tt&gt;SSLProxyCACertificateFile&lt;/tt&gt;. Their syntax is similar to their regular counterparts.&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-6117276021104313901?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/6117276021104313901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=6117276021104313901' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6117276021104313901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6117276021104313901'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/securing-apache-through-ssl.html' title='Securing Apache through SSL'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-3305464454358361414</id><published>2007-04-16T19:21:00.000+05:30</published><updated>2007-04-16T19:23:58.699+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>BBCP another High Bandwith File Transfer Utility</title><content type='html'>BBCP is a file transfer utility currently in alpha used mainly for transferring files (Huge Files) through high Bandwidth Links.&lt;br /&gt;&lt;p&gt;Usage &lt;/p&gt;&lt;p&gt;To transfer the local file /local/path/largefile.tar to the remote system remotesystem as /remote/path/largefile.tar: &lt;/p&gt; &lt;pre&gt;bbcp -P 2 -V -w 8m -s 16 /local/path/largefile.tar remotesystem:/remote/path/largefile.tar&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;Where:&lt;br /&gt;“-P 2” , produces progress messages every 2 seconds.&lt;br /&gt;“-V” , produces verbose output, including detailed transfer speed statistics.&lt;br /&gt;“-w 8m” , sets the size of the disk I/O buffers.&lt;br /&gt;“-s 16” , sets the number of parallel network streams to 16.&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;bbcp assumes the remote system’s non-interactive environment contains the path to the bbcp utility. This can be determined by with the following command: &lt;/p&gt; &lt;pre&gt;ssh remotesystem which bbcp&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;If this is not the case the “-T” bbcp option can be used to specify how to start bbcp on the remote system. For example: &lt;/p&gt; &lt;pre&gt;bbcp -P 2 -V -w 8m -s 16 -T 'ssh -x -a -oFallBackToRsh=no %I -l %U %H /remote/path/to/bbcp' /local/path/largefile.tar  remotesystem:/remote/path/largefile.tar&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Often during large transfers the connection between the transfering systems is lost. The “-a” options gives bbcp the ability to pick up where it left off. For example: &lt;/p&gt; &lt;pre&gt;bbcp -k -a /remotesystem/homedir/.bbcp/ -P 2 -V -w 8m -s 16 /local/path/largefile.tar remotesystem:/remote/path/largefile.tar&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;To transfer an entire directory tree, &lt;/p&gt; &lt;pre&gt;bbcp -r -P 2 -V -w 8m -s 16 /local/path/* remotesystem:/remote/path&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;When transferring files to the Cray XT3 (jaguar) at NCCS, it is necessary to specify a particular jaguar node as the destination host because the hostname jaguar.ccs.ornl.gov actually points to a server load balancing device which returns node addresses in a round robin fashion. For example: &lt;/p&gt; &lt;pre&gt;bbcp -r -P 2 -V -w 8m -s 16 /local/path/* jaguar3.ccs.ornl.gov:/remote/path&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Documentation &lt;/p&gt;&lt;p&gt;More information on bbcp can be found by typing “bbcp -h” &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-3305464454358361414?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/3305464454358361414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=3305464454358361414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3305464454358361414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3305464454358361414'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/bbcp-another-high-bandwith-file.html' title='BBCP another High Bandwith File Transfer Utility'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-6481743283290521182</id><published>2007-04-16T19:19:00.000+05:30</published><updated>2007-04-16T19:21:51.607+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>CP with same privileges</title><content type='html'>How to copy with same privileges&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;cp /path/to/location/. . -prv&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-6481743283290521182?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/6481743283290521182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=6481743283290521182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6481743283290521182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6481743283290521182'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/cp-with-same-privileges.html' title='CP with same privileges'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-2932253132266536769</id><published>2007-04-16T19:17:00.000+05:30</published><updated>2007-04-16T19:18:50.895+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Howto on AutoSetOwner in RT3</title><content type='html'>&lt;p&gt;This custom action sets owner of the ticket to the current user if nobody yet owns the ticket. You can use this scrip action with any condition you want, for eg On Resolve. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt; AutoSetOwner &lt;/p&gt;&lt;p&gt;&lt;b&gt;Condition:&lt;/b&gt; On Resolve &lt;/p&gt;&lt;p&gt;&lt;b&gt;Action:&lt;/b&gt; User Defined &lt;/p&gt;&lt;p&gt;&lt;b&gt; Custom action preparation code:&lt;/b&gt; &lt;/p&gt; &lt;pre&gt; return 1;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt; Custom action cleanup code:&lt;/b&gt; &lt;/p&gt; &lt;pre&gt; # get actor ID&lt;br /&gt;my $Actor = $self-&gt;TransactionObj-&gt;Creator;&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; # if actor is RT_SystemUser then get out of here&lt;br /&gt;return 1 if $Actor == $RT::SystemUser-&gt;id;&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; # get out unless ticket owner is nobody&lt;br /&gt;return 1 unless $self-&gt;TicketObj-&gt;Owner == $RT::Nobody-&gt;id;&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; # ok, try to change owner&lt;br /&gt;$RT::Logger-&gt;info("Auto assign ticket #". $self-&gt;TicketObj-&gt;id ." to user #". $Actor );&lt;br /&gt;my ($status, $msg) = $self-&gt;TicketObj-&gt;SetOwner( $Actor );&lt;br /&gt;unless( $status ) {&lt;br /&gt;  $RT::Logger-&gt;error( "Impossible to assign the ticket to $Actor: $msg" );&lt;br /&gt;  return undef;&lt;br /&gt;}&lt;br /&gt;return 1;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;Template:&lt;/b&gt; Global template: Blank &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;span style="font-size:130%;"&gt;&lt;span class="mw-headline"&gt;&lt;span style="font-weight: bold;"&gt;AutoSetOwnerIfAdminCc&lt;/span&gt; &lt;/span&gt;&lt;/span&gt; &lt;p&gt;This is a variation on AutoSetOwner , it auto-sets the owner of a ticket only if the person doing the correspondence is in the AdminCc watchers: &lt;/p&gt;&lt;p&gt;&lt;b&gt;Condition:&lt;/b&gt; On correspond &lt;/p&gt;&lt;p&gt;&lt;b&gt;Action:&lt;/b&gt; User Defined &lt;/p&gt;&lt;p&gt;&lt;b&gt;Template:&lt;/b&gt; blank &lt;/p&gt; &lt;pre&gt;## based on &lt;a href="http://wiki.bestpractical.com/index.cgi?AutoSetOwner" class="external free" title="http://wiki.bestpractical.com/index.cgi?AutoSetOwner" rel="nofollow"&gt;http://wiki.bestpractical.com/index.cgi?AutoSetOwner&lt;/a&gt;&lt;br /&gt;## And testcode ~ line 576 of Queue_Overlay.pm (rt3.4.2)&lt;br /&gt;my $Actor = $self-&gt;TransactionObj-&gt;Creator;&lt;br /&gt;my $Queue = $self-&gt;TicketObj-&gt;QueueObj;&lt;br /&gt;# if actor is RT_SystemUser then get out of here&lt;br /&gt;return 1 if $Actor == $RT::SystemUser-&gt;id;&lt;br /&gt;# get out unless ticket owner is nobody&lt;br /&gt;return 1 unless $self-&gt;TicketObj-&gt;Owner == $RT::Nobody-&gt;id;&lt;br /&gt;# get out unless $Actor is not part of AdminCc watchers&lt;br /&gt;return 1 unless $Queue-&gt;IsWatcher(Type =&gt; 'AdminCc', PrincipalId =&gt; $Actor);&lt;br /&gt;# do the actual 'status update'&lt;br /&gt;my ($status, $msg) = $self-&gt;TicketObj-&gt;SetOwner( $Actor );&lt;br /&gt;unless( $status ) {&lt;br /&gt;$RT::Logger-&gt;warning( "can't set ticket owner to $Actor: $msg" );&lt;br /&gt;return undef;&lt;br /&gt;}&lt;br /&gt;return 1;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-2932253132266536769?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/2932253132266536769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=2932253132266536769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2932253132266536769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2932253132266536769'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/howto-on-autosetowner-in-rt3.html' title='Howto on AutoSetOwner in RT3'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-304343305160582200</id><published>2007-04-16T19:13:00.000+05:30</published><updated>2007-04-16T19:48:31.561+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>HowTo on repairing MySQL tables</title><content type='html'>&lt;h1 style="font-weight: bold;"&gt;&lt;span class="mw-headline"  style="font-size:130%;"&gt; How to Repair Tables &lt;/span&gt;&lt;/h1&gt; &lt;p&gt;The discussion in this section describes how to use myisamchk on MyISAM tables (extensions .MYI and .MYD). &lt;/p&gt;&lt;p&gt;You can also (and should, if possible) use the CHECK TABLE and REPAIR TABLE statements to check and repair MyISAM tables. &lt;/p&gt;&lt;p&gt;Symptoms of corrupted tables include queries that abort unexpectedly and observable errors such as these: &lt;/p&gt; &lt;pre&gt;   *      tbl_name.frm is locked against change&lt;br /&gt;*      Can't find file tbl_name.MYI (Errcode: nnn)&lt;br /&gt;*      Unexpected end of file&lt;br /&gt;*      Record file is crashed&lt;br /&gt;*      Got error nnn from table handler&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;To get more information about the error, run perror nnn, where nnn is the error number. The following example shows how to use perror to find the meanings for the most common error numbers that indicate a problem with a table: &lt;/p&gt; &lt;pre&gt; shell&gt; perror 126 127 132 134 135 136 141 144 145&lt;br /&gt;126 = Index file is crashed / Wrong file format&lt;br /&gt;127 = Record-file is crashed&lt;br /&gt;132 = Old database file&lt;br /&gt;134 = Record was already deleted (or record file crashed)&lt;br /&gt;135 = No more room in record file&lt;br /&gt;136 = No more room in index file&lt;br /&gt;141 = Duplicate unique key or constraint on write or update&lt;br /&gt;144 = Table is crashed and last repair failed&lt;br /&gt;145 = Table was marked as crashed and should be repaired&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Note that error 135 (no more room in record file) and error 136 (no more room in index file) are not errors that can be fixed by a simple repair. In this case, you must use ALTER TABLE to increase the MAX_ROWS and AVG_ROW_LENGTH table option values: &lt;/p&gt; &lt;pre&gt; ALTER TABLE tbl_name MAX_ROWS=xxx AVG_ROW_LENGTH=yyy;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;If you do not know the current table option values, use SHOW CREATE TABLE. &lt;/p&gt;&lt;p&gt;For the other errors, you must repair your tables. myisamchk can usually detect and fix most problems that occur. &lt;/p&gt;&lt;p&gt;The repair process involves up to four stages, described here. Before you begin, you should change location to the database directory and check the permissions of the table files. On Unix, make sure that they are readable by the user that mysqld runs as (and to you, because you need to access the files you are checking). If it turns out you need to modify files, they must also be writable by you. &lt;/p&gt;&lt;p&gt;This section is for the cases where a table check fails, or you want to use the extended features that myisamchk provides. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;If you are going to repair a table from the command line, you must first stop the mysqld server. Note that when you do mysqladmin shutdown on a remote server, the mysqld server is still alive for a while after mysqladmin returns, until all statement-processing has stopped and all index changes have been flushed to disk. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;a name="Stage_1:_Checking_your_tables"&gt;&lt;/a&gt;&lt;h2&gt;&lt;span class="mw-headline"  style="font-size:100%;"&gt;Stage 1: Checking your tables &lt;/span&gt;&lt;/h2&gt; &lt;p&gt;Run myisamchk *.MYI or myisamchk -e *.MYI if you have more time. Use the -s (silent) option to suppress unnecessary information. &lt;/p&gt;&lt;p&gt;If the mysqld server is stopped, you should use the --update-state option to tell myisamchk to mark the table as “checked.” &lt;/p&gt;&lt;p&gt;You have to repair only those tables for which myisamchk announces an error. For such tables, proceed to Stage 2. &lt;/p&gt;&lt;p&gt;If you get unexpected errors when checking (such as out of memory errors), or if myisamchk crashes, go to Stage 3. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;a name="Stage_2:_Easy_safe_repair"&gt;&lt;/a&gt;&lt;h2&gt;&lt;span class="mw-headline"  style="font-size:100%;"&gt;Stage 2: Easy safe repair &lt;/span&gt;&lt;/h2&gt; &lt;p&gt;First, try myisamchk -r -q tbl_name (-r -q means “quick recovery mode”). This attempts to repair the index file without touching the data file. If the data file contains everything that it should and the delete links point at the correct locations within the data file, this should work, and the table is fixed. Start repairing the next table. Otherwise, use the following procedure: &lt;/p&gt; &lt;pre&gt;  1. Make a backup of the data file before continuing.&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;  2. Use myisamchk -r tbl_name (-r means “recovery mode”). This removes incorrect rows and deleted rows from the data file and reconstructs the index file.&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;  3. If the preceding step fails, use myisamchk --safe-recover tbl_name. Safe recovery mode uses an old recovery method that handles a few cases that regular recovery mode does not (but is slower).&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Note: If you want a repair operation to go much faster, you should set the values of the sort_buffer_size and key_buffer_size variables each to about 25% of your available memory when running myisamchk. &lt;/p&gt;&lt;p&gt;If you get unexpected errors when repairing (such as out of memory errors), or if myisamchk crashes, go to Stage 3. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;a name="Stage_3:_Difficult_repair"&gt;&lt;/a&gt;&lt;h2&gt;&lt;span class="mw-headline"  style="font-size:100%;"&gt;Stage 3: Difficult repair &lt;/span&gt;&lt;/h2&gt; &lt;p&gt;You should reach this stage only if the first 16KB block in the index file is destroyed or contains incorrect information, or if the index file is missing. In this case, it is necessary to create a new index file. Do so as follows: &lt;/p&gt; &lt;pre&gt;  1. Move the data file to a safe place.&lt;br /&gt;&lt;br /&gt;2. Use the table description file to create new (empty) data and index files:&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;     shell&gt; mysql db_name&lt;br /&gt;  mysql&gt; SET AUTOCOMMIT=1;&lt;br /&gt;  mysql&gt; TRUNCATE TABLE tbl_name;&lt;br /&gt;  mysql&gt; quit&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;  3. Copy the old data file back onto the newly created data file. (Do not just move the old file back onto the new file. You want to retain a copy in case something goes wrong.)&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;br /&gt;Go back to Stage 2. myisamchk -r -q should work. (This should not be an endless loop.) &lt;/p&gt;&lt;p&gt;&lt;br /&gt;You can also use the REPAIR TABLE tbl_name USE_FRM SQL statement, which performs the whole procedure automatically. There is also no possibility of unwanted interaction between a utility and the server, because the server does all the work when you use REPAIR TABLE. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;a name="Stage_4:_Very_difficult_repair"&gt;&lt;/a&gt;&lt;h2&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span class="mw-headline"  style="font-size:100%;"&gt;Stage 4: Very difficult repair &lt;/span&gt;&lt;/h2&gt; &lt;p&gt;You should reach this stage only if the .frm description file has also crashed. That should never happen, because the description file is not changed after the table is created: &lt;/p&gt; &lt;pre&gt;  1. Restore the description file from a backup and go back to Stage 3. You can also restore the index file and go back to Stage 2. In the latter case, you should start with myisamchk -r.&lt;br /&gt;&lt;br /&gt;2. If you do not have a backup but know exactly how the table was created, create a copy of the table in another database. Remove the new data file, and then move the .frm description and .MYI index files from the other database to your crashed database. This gives you new description and index files, but leaves the .MYD data file alone. Go back to Stage 2 and attempt to reconstruct the index file.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-304343305160582200?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/304343305160582200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=304343305160582200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/304343305160582200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/304343305160582200'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/howto-on-repairing-mysql-tables.html' title='HowTo on repairing MySQL tables'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-5105837512180997485</id><published>2007-04-16T19:11:00.000+05:30</published><updated>2007-04-16T19:13:53.126+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>How to AutoGen Users and passwd in RT3</title><content type='html'>&lt;p&gt;How to auto generate users and passwords while submitting tickets through email in Request Tracker 3.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Add this code to AutoReply Template: &lt;/p&gt; &lt;pre&gt;{&lt;br /&gt; *RT::User::GenerateRandomNextChar = \&amp;RT::User::_GenerateRandomNextChar;&lt;br /&gt;&lt;br /&gt; if (($Transaction-&gt;CreatorObj-&gt;id != $RT::Nobody-&gt;id) &amp;&amp;amp;&lt;br /&gt;     (!$Transaction-&gt;CreatorObj-&gt;Privileged) &amp;&amp;amp;&lt;br /&gt;     ($Transaction-&gt;CreatorObj-&gt;__Value('Password') eq '*NO-PASSWORD*')&lt;br /&gt;    ) {&lt;br /&gt;&lt;br /&gt;     my $user = RT::User-&gt;new($RT::SystemUser);&lt;br /&gt;     $user-&gt;Load($Transaction-&gt;CreatorObj-&gt;Id);&lt;br /&gt;     my ($stat, $pass) = $user-&gt;SetRandomPassword();&lt;br /&gt;&lt;br /&gt;     if (!$stat) {&lt;br /&gt;             $OUT .=&lt;br /&gt;&lt;br /&gt;"An internal error has occurred. RT was not able to set a password for you.&lt;br /&gt;Please contact your local RT administrator for assistance.";&lt;br /&gt;&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     $OUT .= "&lt;br /&gt;You can check the current status and history of your requests at:&lt;br /&gt;&lt;br /&gt;     ".$RT::WebURL."&lt;br /&gt;&lt;br /&gt;When prompted, enter the following username and password:&lt;br /&gt;&lt;br /&gt;     Username: ".$user-&gt;Name."&lt;br /&gt;     Password: ".$pass."&lt;br /&gt;&lt;br /&gt;     ";&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;br /&gt;Clearing Mason Cache: &lt;/p&gt; &lt;pre&gt; shell&gt; rm -rf /opt/rt3/var/mason_data/obj/*&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-5105837512180997485?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/5105837512180997485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=5105837512180997485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/5105837512180997485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/5105837512180997485'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/how-to-autogen-users-and-passwd-in-rt3.html' title='How to AutoGen Users and passwd in RT3'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-8932122887054365109</id><published>2007-04-16T19:10:00.000+05:30</published><updated>2007-04-16T19:11:34.032+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>How to migrate MediaWiki?</title><content type='html'>&lt;p&gt;MediaWiki Migration&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Old Server: &lt;/p&gt; &lt;pre&gt; mysqldump -u root -p wikidb &gt; wikidb.sql&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; tar -cvf wiki.tar wiki ;this is the wiki folder on document root&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;New Server: &lt;/p&gt; &lt;pre&gt; create database wikidb;  this is inside mysql, Note that both mysql versions should be same.&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; grant create, select, insert, update, delete, lock tables on wikidb.* to wiki@localhost identified by 'YourPassword' ;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;br /&gt;MediaWiki Upgrade &lt;/p&gt; &lt;pre&gt; copy all the new files to wiki folder and then&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; run php update.php from maintenance folder after updating AdminSettings.php&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-8932122887054365109?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/8932122887054365109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=8932122887054365109' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/8932122887054365109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/8932122887054365109'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/how-to-migrate-mediawiki.html' title='How to migrate MediaWiki?'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-1021879424061450019</id><published>2007-04-16T19:08:00.000+05:30</published><updated>2007-04-16T19:10:04.273+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Qemu virtualization</title><content type='html'>&lt;p&gt;Qemu Live CD Configurations: &lt;/p&gt; &lt;pre&gt; $qemu -cdrom /dev/cdrom -boot d&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; $qemu -cdrom xxx.iso -boot d&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; $dd if=/dev/zero of=my_hdd.img bs=1024 count=2048000&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; $qemu -cdrom /dev/cdrom -hda my_hdd.img -boot d&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-1021879424061450019?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/1021879424061450019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=1021879424061450019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1021879424061450019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/1021879424061450019'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/qemu-virtualization.html' title='Qemu virtualization'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-4070478324368121072</id><published>2007-04-16T19:05:00.000+05:30</published><updated>2007-04-16T19:08:01.051+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Simple NFS in Linux</title><content type='html'>&lt;pre&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;At the server Side: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;vi /etc/exportfs&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; path 192.168.0.0/16 (ro)&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; exportfs -a&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; service portmap start&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; service nfs start&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-4070478324368121072?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/4070478324368121072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=4070478324368121072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/4070478324368121072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/4070478324368121072'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/simple-nfs-in-linux.html' title='Simple NFS in Linux'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-2046888924940497369</id><published>2007-04-12T14:22:00.000+05:30</published><updated>2007-04-12T14:27:40.912+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>Horde another groupware</title><content type='html'>&lt;h1 class="firstHeading"&gt;One of my experiments with Groupware and Webmail systems.&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1 class="firstHeading"&gt;Horde&lt;/h1&gt;&lt;!-- start content --&gt;    &lt;p&gt;&lt;b&gt;Installation&lt;/b&gt; &lt;/p&gt;&lt;p&gt;Horde requires some prerequisite software before you can use it. In addition, there are other software packages which, while not required, are recommended as without them you will experience very limited functionality. The following helps you to install the required and recommended software packages on a Fedora Core 4 system. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Apache packages&lt;/b&gt; &lt;/p&gt; &lt;pre&gt;Horde is a web application, and as such, you need to provide a web server to use it. If you do not already have the Apache web&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;server installed, you should do so at this time: &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; yum install httpd&lt;br /&gt;chkconfig httpd on&lt;br /&gt;/etc/init.d/httpd start&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;PHP Packages&lt;/b&gt; &lt;/p&gt;&lt;p&gt;As Horde is a PHP application, it requires that you have PHP installed. In addition to the base php package, Horde and its applications require several other PHP packages. The following installs the most commonly needed PHP packages. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; yum install php php-xml php-imap php-devel&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;PEAR&lt;/b&gt; &lt;/p&gt;&lt;p&gt;The Fedora Core PHP package contains a PEAR installation, but it is missing some PEAR modules needed by Horde. You can install these modules using the following command: &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; pear install -f Net_IMAP Log Mail_Mime File Date Console_Getopt&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Note for Fedora Core 5 you should also install the DB package for pear. &lt;/p&gt; &lt;pre&gt; pear install -f DB&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Read the note at: &lt;a href="http://pear.php.net/bugs/bug.php?id=5113" class="external free" title="http://pear.php.net/bugs/bug.php?id=5113" rel="nofollow"&gt;http://pear.php.net/bugs/bug.php?id=5113&lt;/a&gt; If you've faced this problem then you can download a patched file via: &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; pear install &lt;a href="http://www.iptp.net/files/File-1.2.1.tgz" class="external free" title="http://www.iptp.net/files/File-1.2.1.tgz" rel="nofollow"&gt;http://www.iptp.net/files/File-1.2.1.tgz&lt;/a&gt; &lt;/pre&gt; &lt;p&gt;&lt;b&gt;SQL&lt;/b&gt; &lt;/p&gt;&lt;p&gt;While a SQL server is not required to run Horde, it is recommended as much of the Horde functionality will be lost without it. You may run either MySQL or PostgreSQL, but you should not run both! &lt;/p&gt;&lt;p&gt;While you do not need to run the SQL server on the same machine that runs the Horde web applications, that is the most common setup for small sites, and hence the following assumes this type of setup. &lt;/p&gt;&lt;p&gt;&lt;b&gt;MySQL&lt;/b&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; yum install php-mysql mysql mysql-server&lt;br /&gt;/sbin/chkconfig --levels 235 mysqld on&lt;br /&gt;/etc/init.d/mysqld start&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;br /&gt;(You might need more packages depending your installation.) &lt;/p&gt;&lt;p&gt;OR &lt;/p&gt;&lt;p&gt;PostgreSQL &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; yum install postgresql-server php-pgsql postgresql-libs mod_auth_pgsql postgresql&lt;br /&gt;/sbin/chkconfig --levels 235 postgresql&lt;br /&gt;/etc/init.d/postgresql start&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;CVS&lt;/b&gt; &lt;/p&gt;&lt;p&gt;The instructions below install Horde and its applications from CVS. In order to use CVS, you will need to have the cvs package installed in your machine. The following command can be used to install the cvs package. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt;yum install cvs&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;Horde&lt;/b&gt; &lt;/p&gt;&lt;p&gt;The following commands can be used to install Horde along with the more popular Horde applications, using anonymous CVS. There are other ways to install Horde and its applications other than CVS. However, this documentation only covers using CVS for installation. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; cd /var/www/html&lt;br /&gt;cvs -d :pserver:cvsread@anoncvs.horde.org:/repository login&lt;br /&gt;Password: horde&lt;br /&gt;cvs -d :pserver:cvsread@anoncvs.horde.org:/repository checkout horde&lt;br /&gt;cd horde&lt;br /&gt;cvs -d :pserver:cvsread@anoncvs.horde.org:/repository checkout framework imp kronolith mnemo nag passwd turba ingo&lt;br /&gt;cd framework&lt;br /&gt;pear channel-discover pear.horde.org&lt;br /&gt;php install-packages.php&lt;br /&gt;mkdir -p /var/horde/vfs&lt;br /&gt;chown -R apache:apache /var/horde&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;Configuration&lt;/b&gt; &lt;/p&gt;&lt;p&gt;Once all the software is installed, you need to configure it for use with Horde. Below is some information on how to configure the various software packages. Note that configuration will vary depending on your needs, and the following is just a basic guide; you may need to adjust your configuration for your needs. &lt;/p&gt;&lt;p&gt;&lt;b&gt;MySQL&lt;/b&gt; &lt;/p&gt;&lt;p&gt;Before you can use the MySQL server with Horde, you must setup the SQL server and create the needed database tables. Create a MySQL account &lt;/p&gt;&lt;p&gt;First, you need to create a SQL user. In the instructions below, replace 'password' with the actual password you want to set for this account. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; mysqladmin -u root password 'password'&lt;br /&gt;mysqladmin -u root -h your.host.name password 'password'&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;b&gt;Creating the MySQL Database and Tables&lt;/b&gt; &lt;/p&gt;&lt;p&gt;Next, you need to create the database and its tables. First, you must edit the database scripts Horde provides to set the database password to the password you set in the previous step. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; cd /var/www/html/horde/scripts/sql&lt;br /&gt;vi create.mysql.sql&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Then change the database password in the file, and save it. Once you have set the password correctly in the script, you should run the script in order to create the database: &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; mysql -u root -p &lt; create.mysql.sql&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;PostgreSQL &lt;/p&gt;&lt;p&gt;Before you can use the PostgreSQL server with Horde, you must setup the SQL server and create the needed database tables. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; cd /var/www/html/horde/scripts/sql&lt;br /&gt;vi pgsql_create.sql&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Then change the database password in the file and save it. Once you have set the password correctly in the script, you should run the script in order to create the database: &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; psql -d template1 -f pgsql_create.sql -U postgres&lt;br /&gt;psql -d horde -U horde -f auth.sql&lt;br /&gt;psql -d horde -U horde -f category.sql&lt;br /&gt;psql -d horde -U horde -f prefs.sql&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Note that you may see some NOTICE messages from PostreSQL noting that implicit indexes have been created; these are normal and can be ignored. &lt;/p&gt;&lt;p&gt;&lt;b&gt;Horde&lt;/b&gt; &lt;/p&gt;&lt;p&gt;First, you need to install the distribution default configuration files, present in the config subdirectory within each Horde application (including the base Horde configuration directory itself): &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; cd /var/www/html/horde&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;for a in . mnemo nag turba imp ingo kronolith passwd; do cd /var/www/html/horde/$a/config; for f in *.dist; do cp $f `basename $f .dist`; done; done &lt;/p&gt;&lt;p&gt;Next, we want to make sure that all the files have the correct file permissions: &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;pre&gt; cd /var/www/html&lt;br /&gt;chown -R apache:apache horde&lt;br /&gt;chmod -R o-rwx horde&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Finally, you now need to do the basic configuration of all the Horde applications using the Horde Administrative Interface . Log in to your Horde installation, at &lt;a href="http://your.host.name/horde/" class="external free" title="http://your.host.name/horde/" rel="nofollow"&gt;http://your.host.name/horde/&lt;/a&gt;. Once you're in, click on the Administration link on the sidebar, then the Setup sub-option. The Default Administrator password is mailadmin. You should see a list of available Horde applications in the main frame - you now need to go through this list and configure each Horde application as you please. Click on an entry in this list; you should be brought to a configuration screen. Go through each tab within this screen (if there are multiple tabs; otherwise there will just be a single page) and change any settings as you see fit (although the default options are usually sufficient if you don't feel comfortable editing all the available variables). Once you have finished configuring an application, click on the Generate XXX Configuration button at the bottom of the page to auto-generate the relevant conf.php file for the specific application. Repeat this process for every application in the Setup page. &lt;/p&gt;&lt;p&gt;Note that the above only configures the base configuration of the applications. There are other configuration files which you may also want to configure for each application. Such configuration must be done by hand. See the docs/INSTALL file for each application for more information on configuring that application. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-2046888924940497369?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/2046888924940497369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=2046888924940497369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2046888924940497369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/2046888924940497369'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/horde-another-groupware.html' title='Horde another groupware'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-3637548342190834716</id><published>2007-04-12T12:49:00.000+05:30</published><updated>2007-04-12T14:21:01.865+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>How to configure proxy for common linux apps</title><content type='html'>&lt;p&gt;&lt;b&gt;pear&lt;/b&gt; &lt;/p&gt;&lt;p&gt;to use a proxy with PEAR, you should use &lt;/p&gt; &lt;pre&gt; $ pear config-set http_proxy &lt;a href="http://proxypc.localdomain/" class="external free" title="http://proxypc.localdomain" rel="nofollow"&gt;http://proxypc.localdomain&lt;/a&gt; &lt;/pre&gt; &lt;p&gt;&lt;b&gt;yum&lt;/b&gt; &lt;/p&gt;&lt;p&gt;For yum to work you have to add these settings to /etc/yum.conf &lt;/p&gt; &lt;pre&gt; export http_proxy=&lt;a href="http://192.168.65.253:8080/" class="external free" title="http://192.168.65.253:8080" rel="nofollow"&gt;http://192.168.65.253:8080&lt;/a&gt;&lt;br /&gt;export ftp_proxy=&lt;a href="http://192.168.65.253:8080/" class="external free" title="http://192.168.65.253:8080" rel="nofollow"&gt;http://192.168.65.253:8080&lt;/a&gt; &lt;/pre&gt; &lt;p&gt;&lt;b&gt;wget&lt;/b&gt; &lt;/p&gt;&lt;p&gt;For wget to work add this to ~./bash_profile &lt;/p&gt; &lt;pre&gt; export http_proxy=&lt;a href="http://192.168.65.253:8080/" class="external free" title="http://192.168.65.253:8080" rel="nofollow"&gt;http://192.168.65.253:8080&lt;/a&gt;&lt;br /&gt;export ftp_proxy=&lt;a href="http://192.168.65.253:8080/" class="external free" title="http://192.168.65.253:8080" rel="nofollow"&gt;http://192.168.65.253:8080&lt;/a&gt; &lt;/pre&gt; &lt;p&gt;then run command &lt;/p&gt; &lt;pre&gt; source ~./bash_profile&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-3637548342190834716?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/3637548342190834716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=3637548342190834716' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3637548342190834716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3637548342190834716'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/how-to-configure-proxy-for-common-linux.html' title='How to configure proxy for common linux apps'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-6542594090611976223</id><published>2007-04-12T12:41:00.000+05:30</published><updated>2007-04-12T12:46:45.128+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><title type='text'>How to add a disk to LVM</title><content type='html'>&lt;h1 class="firstHeading"&gt;LVM&lt;!-- start content --&gt;    &lt;a name="Formatting_the_new_Disk"&gt;&lt;/a&gt;&lt;/h1&gt;&lt;h2&gt;Quick Notes First:&lt;br /&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span class="mw-headline"&gt;Formatting the new Disk &lt;/span&gt;&lt;/h2&gt; &lt;p&gt; Suppose the Disk is /dev/sdb, the second scsi disk,&lt;/p&gt; &lt;pre&gt;   fdisk /dev/sdb&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;   create as many partitions as you need using command n&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;   Label them with command t as 8e for making it Linux LVM&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;   Write and Exit with the command w.&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;  Format the partitions you require using mkfs command &lt;/p&gt; &lt;pre&gt;   mkfs -t ext3 -c /dev/sdb1&lt;br /&gt;&lt;/pre&gt; &lt;p&gt; LVM commands &lt;/p&gt; &lt;pre&gt;   pvcreate /dev/sdb1&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;   vgextend VolGroup00 /dev/sdb1&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;   lvextend -L 15G /dev/VolGroup00/LogVol01 ;for extending LogVol to 15GB&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;   lvextend -L+1G /dev/VolGroup00/LogVol01 ;for adding one more GB to Logical Volume LogVol01&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt;   ext2online /dev/VolGroup00/LogVol01 ;for resizing the Logical Volumes&lt;br /&gt;&lt;/pre&gt; &lt;p&gt; Thats it finished&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="mw-headline"&gt; Extra Instructions &lt;/span&gt;&lt;/h2&gt; &lt;p&gt;&lt;b&gt;Creating Physical Volumes for LVM&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;Since LVM requires entire Physical Volumes to be assigned to Volume Groups, you must have a few empty partitions ready to be used by LVM. Install the OS on a few partitions and leave a bit of empty space. Use fdisk under Linux to create a number of empty partitions of equal size. You must mark them with fdisk as type 0xFE. We created five 256MB partitions, /dev/hda5 through /dev/hda9.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Registering Physical Volumes&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;The first thing necessary to get LVM running is to register the physical volumes with LVM. This is done with the pvcreate command. Simply run pvcreate /dev/hdxx for each hdxx device you created above. In our example, we ran pvcreate /dev/hda5 and so on.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Creating a Volume Group&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;Next, create a Volume Group. You can set certain parameters with this command, like physical extent size, but the defaults are probably fine. We'll call the new Volume Group vg01. Just type vgcreate vg01 /dev/hda5.&lt;/p&gt;     &lt;p&gt;When this is done, take a look at the Volume Group with the vgdisplay command. Type vgdisplay -v vg01. Note that you can create up to 256 LVs, can add up to 256 PVs, and each LV can be up to 255.99GBs! More important, note the Free PE line. This tells you how many Physical Extents we have to work with when creating LVs. For a 256MB disk, this reads 63 because there is an unused remainder smaller than the 4MB PE size.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Creating a Logical Volume&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;Next, let's create a Logical Volume called lv01 in VG vg01. Again, there are some settings that may be changed when creating an LV, but the defaults work fine. The important choice to make is how many Logical Extents to allocate to this LV. We'll start with 4 for a total size of 16MB. Just type lvcreate -l4 -nlv01 vg01. You may also specify the size in MBs by using -L instead of -l, and LVM will round off the result to the nearest multiple of the LE size.&lt;/p&gt;     &lt;p&gt;Take a look at your LV with the lvdisplay command by typing lvdisplay -v /dev/vg01/lv01. You can ignore the page of Logical extents for now, and page up to see the more interesting data.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Adding a disk to the Volume Group&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;Next, we'll add /dev/hda6 to the Volume Group. Just type vgextend vg01 /dev/hda6 and you're done! You can check this out by using vgdisplay -v vg01. Note that there are now a lot more PEs available!&lt;/p&gt; &lt;p&gt;&lt;b&gt;Moving Creating a striped Logical Volume&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;Note that LVM created your whole Logical Volume on one Physical Volume within the Volume Group. You can also stripe an LV across two Physical Volumes with the -i flag in lvcreate. We'll create a new LV, lv02, striped across hda5 and hda6. Type lvcreate -l4 -nlv02 -i2 vg01 /dev/hda5 /dev/hda6. Specifying the PV on the command line tells LVM which PEs to use, while the -i2 command tells it to stripe it across the two.&lt;/p&gt;     &lt;p&gt;You now have an LV striped across two PVs!&lt;/p&gt; &lt;p&gt;&lt;b&gt;Moving data within a Volume Group&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;Up to now, PEs and LEs were pretty much interchangable. They are the same size and are mapped automatically by LVM. This does not have to be the case, though. In fact, you can move an entire LV from one PV to another, even while the disk is mounted and in use! This will impact your performance, but it can prove useful.&lt;/p&gt;     &lt;p&gt;Let's move lv01 to hda6 from hda5. Type pvmove -n/dev/vg01/lv01 /dev/hda5 /dev/hda6. This will move all LEs used by lv01 mapped to PEs on /dev/hda5 to new PEs on /dev/hda6. Effectively, this migrates data from hda5 to hda6. It takes a while, but when it's done, take a look with lvdisplay -v /dev/vg01/lv01 and notice that it now resides entirely on /dev/hda6!&lt;/p&gt; &lt;p&gt;&lt;b&gt;Removing a Logical Volume from a Volume Group&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;Let's say we no longer need lv02. We can remove it and place its PEs back in the empty pool for the Volume Group. First, unmounting its filesystem. Next, deactivate it with lvchange -a n /dev/vg01/lv02. Finally, delete it by typing lvremove /dev/vg01/lv02. Look at the Volume Group and notice that the PEs are now unused.&lt;/p&gt; &lt;p&gt;&lt;b&gt;Removing a disk from the Volume Group&lt;/b&gt; &lt;/p&gt;     &lt;p&gt;You can also remove a disk from a volume group. We aren't using hda5 anymore, so we can remove it from the Volume Group. Just type vgreduce vg01 /dev/hda5 and it's gone!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-6542594090611976223?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/6542594090611976223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=6542594090611976223' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6542594090611976223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/6542594090611976223'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2007/04/how-to-add-disk-to-lvm.html' title='How to add a disk to LVM'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-3663346108524587756</id><published>2006-12-12T19:29:00.000+05:30</published><updated>2006-12-12T19:32:14.883+05:30</updated><title type='text'>blog upgrade</title><content type='html'>Upgraded the blog from old account blogger  to beta google account. There seems to be some improvements in interface...&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-3663346108524587756?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/3663346108524587756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=3663346108524587756' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3663346108524587756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/3663346108524587756'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2006/12/blog-upgrade.html' title='blog upgrade'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-114441368119900237</id><published>2006-04-07T18:11:00.000+05:30</published><updated>2006-04-07T18:11:21.216+05:30</updated><title type='text'>Chruch on 2nd April</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/sujithemmanuel/124653902/" title="photo sharing"&gt;&lt;img src="http://static.flickr.com/47/124653902_73f9457252_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;  &lt;a href="http://www.flickr.com/photos/sujithemmanuel/124653902/"&gt;1&lt;/a&gt;  &lt;br /&gt;  Originally uploaded by &lt;a href="http://www.flickr.com/people/sujithemmanuel/"&gt;Sujith Emmanuel&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;Met once again my cousins and a lot more people.&lt;br /&gt;Was nice...&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-114441368119900237?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/114441368119900237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=114441368119900237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/114441368119900237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/114441368119900237'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2006/04/chruch-on-2nd-april.html' title='Chruch on 2nd April'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-114360643537460229</id><published>2006-03-01T09:54:00.000+05:30</published><updated>2006-03-29T09:58:27.413+05:30</updated><title type='text'>Time is precious</title><content type='html'>&lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;embed src="http://www.worldtimeserver.com/clocks/wtsclock001.swf?color=FF9900&amp;wtsid=IN" width="200" height="200" wmode="transparent" type="application/x-shockwave-flash"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;h2 align="center"&gt;My timezone&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-114360643537460229?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/114360643537460229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=114360643537460229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/114360643537460229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/114360643537460229'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2006/03/time-is-precious.html' title='Time is precious'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-114043825129462193</id><published>2006-02-20T17:54:00.000+05:30</published><updated>2006-02-20T17:54:11.550+05:30</updated><title type='text'>30-01-06_1856</title><content type='html'>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/59387565@N00/102091911/" title="photo sharing"&gt;&lt;img src="http://static.flickr.com/43/102091911_45114093b4_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;  &lt;a href="http://www.flickr.com/photos/59387565@N00/102091911/"&gt;30-01-06_1856&lt;/a&gt;  &lt;br /&gt;  Originally uploaded by &lt;a href="http://www.flickr.com/people/59387565@N00/"&gt;Sujith Emmanuel&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;Me at my office on a rough day.&lt;br clear="all" /&gt;&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-114043825129462193?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/114043825129462193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=114043825129462193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/114043825129462193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/114043825129462193'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2006/02/30-01-061856.html' title='30-01-06_1856'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22438422.post-113991900093334203</id><published>2006-02-14T16:06:00.000+05:30</published><updated>2006-02-14T17:40:00.940+05:30</updated><title type='text'>My First Post</title><content type='html'>Got a cold just minutes after landing here. Nasty cold with leaking nose.&lt;div class="blogger-post-footer"&gt;Suji's blog&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22438422-113991900093334203?l=sujithemmanuel.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sujithemmanuel.blogspot.com/feeds/113991900093334203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22438422&amp;postID=113991900093334203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/113991900093334203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22438422/posts/default/113991900093334203'/><link rel='alternate' type='text/html' href='http://sujithemmanuel.blogspot.com/2006/02/my-first-post.html' title='My First Post'/><author><name>Sujith Emmanuel</name><uri>http://www.blogger.com/profile/01303727326387084415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/43/102091911_45114093b4_o_d.jpg'/></author><thr:total>0</thr:total></entry></feed>
