<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Bang Rajan Learn</title>
	<atom:link href="http://coroketon.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://coroketon.wordpress.com</link>
	<description>To Share Over All The World</description>
	<lastBuildDate>Tue, 22 Jan 2008 06:07:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='coroketon.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Bang Rajan Learn</title>
		<link>http://coroketon.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://coroketon.wordpress.com/osd.xml" title="Bang Rajan Learn" />
	<atom:link rel='hub' href='http://coroketon.wordpress.com/?pushpress=hub'/>
		<item>
		<title>DESKTOP LINUX TECHNOLOGY &amp; MARKET OVERVIEW</title>
		<link>http://coroketon.wordpress.com/2008/01/22/desktop-linux-technology-market-overview/</link>
		<comments>http://coroketon.wordpress.com/2008/01/22/desktop-linux-technology-market-overview/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 06:07:03 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opetaring System]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/22/desktop-linux-technology-market-overview/</guid>
		<description><![CDATA[Open Source Applications Foundation Document prepared by Bart Decrem July 10, 2003 FOREWORD For several years now, many people involved with computing and the Internet have harbored hopes that Linux might become a viable end-user operating system for a broad population. There has been great frustration with problems and limitations of commercial offerings, especially to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=18&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Open Source Applications Foundation<br />
Document prepared by Bart Decrem<br />
July 10, 2003</p>
<p>FOREWORD<br />
For several years now, many people involved with computing and the Internet have harbored hopes<br />
that Linux might become a viable end-user operating system for a broad population. There has been<br />
great frustration with problems and limitations of commercial offerings, especially to the extent that<br />
the original goals of computers as tools of empowerment for individuals seem to have lost<br />
momentum. In turn this frustration has fueled the wish for an alternative which could evolve<br />
through the inclusive and open-ended dynamics of open source development.<br />
At the same time, it is an undeniable truth that while Linux-based server software has matured to<br />
become an integral and vital component of the global information infrastructure, as yet Linux on the<br />
desktop has remained on the periphery. Recently, I initiated a project on behalf of OSAF to take a<br />
careful look at the state of Linux on the desktop, and asked Bart Decrem to spearhead a short-term<br />
research project to assess the current situation and trends.<br />
As you can read, while we do not believe a revolution is in the offing, there is a great deal of good<br />
news about what has already been accomplished, and even more about what is very likely going to be<br />
happening with adoption of desktop Linux, especially considering the situation outside the U.S. A<br />
further piece of good news is that, by and large, there do not appear to be intractable obstacles to the<br />
continuing growth of adoption of Linux as an end-user OS.<br />
I hope readers will find this report timely and valuable. I encourage your feedback, which may be<br />
sent to desktop-linux-report@osafoundation.org.<br />
Mitch Kapor,<br />
Open Source Applications Foundation<br />
July 10, 2003<br />
Desktop Linux Overview<br />
Page 2</p>
<p>CREDITS<br />
Thanks to the numerous individuals who agreed to be interviewed as part of the research for this<br />
document. Their insights and contributions have shaped this document, but the opinions expressed<br />
here and any inaccuracies are of course the sole responsibility of the author.<br />
Particular thanks go out to Waldo Bastian, Liu Bo, Jurgen Botz, Joseph Cheek, Danese Cooper, Laura<br />
DiDio, Matthias Ettrich, Nat Friedman, Dwight G., Jody Goldberg, Joseph Hill, Dan Kusnetzky, Dom<br />
Lachowicz, Havoc Pennington, Michael Robertson, Chris Schlaeger, James Stallings, Tony Stanco,<br />
Michael Tiemann, Seth Vidal, Luis Villa, Daniel Vogelheim, Jeremy White and Mitch Kapor and the<br />
Open Source Applications Foundation.<br />
The most recent version of this document is available at</p>
<p>http://www.osafoundation.org/desktop-linux-overview.pdf.</p>
<p>For all inquiries, comments or suggestions, please send e-mail to<br />
desktop-linux-report@osafoundation.org.<br />
Desktop Linux Overview<br />
Page 3</p>
<p>TABLE OF CONTENTS<br />
1<br />
Executive Summary&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 5<br />
2<br />
Definitions &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 6<br />
3<br />
The Long Linux March to the Desktop&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 6<br />
4<br />
The Adoption Cycle &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 7<br />
4.1 Looking back&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 7<br />
4.2 Factors and trends that are favoring Linux desktop adoption&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 7<br />
4.3 The Linux desktop adoption cycle&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 10<br />
5 Desktop Linux: The State of the Product&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 11<br />
5.1 The desktop &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 11<br />
5.2 The desktop developer platform &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 12<br />
5.3 Hardware support&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 13<br />
5.4 Core apps: Browser&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 14<br />
5.5 Core apps: PIM&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 15<br />
5.6 Core apps: Productivity suite&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 15<br />
5.7 Core apps: Instant messaging &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 16<br />
5.8 Core apps: Multimedia support&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 16<br />
5.9 Other applications&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 16<br />
5.10 Connectivity with Windows &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 17<br />
6 The Desktop Linux Eco-system&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 18<br />
6.1 Linux distributions&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 18<br />
6.2 KDE, GNOME, other desktops platforms&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 18<br />
6.3 Open source application developers&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 19<br />
6.4 Commercial end-user ISV community &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 19<br />
6.5 OEMs&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 20<br />
6.6 Distribution channels&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 20<br />
6.7 Consortia, other organizations &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 21<br />
6.8 News, conferences and support resources &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 22<br />
6.9 Customers &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 22<br />
7 Market Adoption&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 23<br />
7.1 Technical users&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 23<br />
7.2 Transactional workers&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 23<br />
7.3 Knowledge Workers&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 24<br />
7.4 SMB sector &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 24<br />
7.5 Education &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 25<br />
7.6 Public Sector &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 26<br />
7.7 Consumers &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 27<br />
7.8 Non-PC devices &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 27<br />
7.9 Outside of the United States &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 28<br />
8 The Future &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 30<br />
8.1 Assumptions&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 30<br />
8.2 Predictions &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 30<br />
8.3 Leverage points &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.. 31<br />
9 Conclusion&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230; 33<br />
Footnotes &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;. 34<br />
Desktop Linux Overview<br />
Page 4</p>
<p>1<br />
EXECUTIVE SUMMARY<br />
�Our clients are not asking us to replace all of their Windows desktops. They�re asking us to help<br />
them figure out how they can reduce the number of Windows desktops.�<br />
A few years ago, after several high-profile Linux desktop efforts failed, people were quick to proclaim<br />
the still-born death of Linux on the desktop. Just months later, new commercial Linux desktop<br />
ventures sprang up, the major open source desktop projects (KDE, GNOME, OpenOffice and Mozilla)<br />
all achieved important milestones and the Linux desktop was born again.<br />
This report gives an overview of the state of Linux on the desktop, both from a technology<br />
perspective and in terms of marketplace developments. It concludes that, while much work remains<br />
to be done, desktop Linux is now �good enough� for significant classes of users. We believe that<br />
claims about Linux� fitness or unfitness for desktop use have both been overblown. It is true that<br />
Linux is unlikely to achieve significant adoption by knowledge workers and mainstream consumers,<br />
especially in the United States, over the next few years. It is also true that Linux is already in use by<br />
millions of users around the world, and is likely to find a home on tens of millions of desktops over<br />
the next few years, outpacing the Macintosh OS as the number two desktop operating system.<br />
We believe that initial deployments of Linux on the desktop will focus largely on highly technical<br />
workers, students and transactional workers. The public sector, especially outside of the US, will also<br />
be a major driver of desktop Linux adoption. Massive deployments, ranging for 14,000 government<br />
desktops in Munich to 80,000 PCs for students in Spain, are already under way. Thanks to the<br />
unique nature of open source software, the lessons learned from these initial deployments are likely<br />
to rapidly result in an even stronger Linux desktop. As Hollywood studios migrated to Linux<br />
workstations, for example, one of the studios commissioned an open source company to make<br />
Adobe Photoshop run under Linux. Thanks to the open source development process, all Linux users<br />
can now run Photoshop on their desktop.<br />
Significant pieces of work do remain to be done, especially in terms of providing missing pieces of<br />
desktop foundation infrastructure (such as better support for hardware devices) and providing<br />
improved interoperability between the various major desktop efforts. There are signs that the open<br />
source community will rise to this challenge, further accelerating the momentum of Linux on the<br />
desktop.<br />
While technical challenges remain, we agree with several of the people we spoke with who argued<br />
that desktop Linux has evolved from being a technical challenge to a marketing challenge. Linux is<br />
now good enough for large numbers of people. A key remaining task is to convince buyers to<br />
consider a Linux desktop on its merits. The success stories that will emerge over the next few years<br />
will be an important part of this marketing challenge; market reports such as this one, we hope, will<br />
also help to educate decision makers.<br />
&#8220;The desktop is Microsoft&#8217;s last stand for near dominance, which will gradually erode with greater<br />
1<br />
awareness of the maturity of Linux desktop offerings.&#8221;<br />
Desktop Linux Overview<br />
Page 5</p>
<p>2<br />
DEFINITIONS<br />
Strictly speaking, the Linux project, as overseen by Linus Torvalds, is just the kernel of an operating<br />
system. The entire operating system commonly referred to as Linux could arguably be more<br />
accurately named GNU/Linux, and it includes the Linux kernel along with thousands of tools, drivers,<br />
applications and a graphical user interface. In this document, we use the term Linux in this broader,<br />
more casual, sense.<br />
Open source software is software for which the source code is made available under a license that<br />
allows modifications and redistributions. In this document, we use the term open source software to<br />
include �free software�, which is software released under a more strict set of guidelines created by<br />
the Free Software Foundation.<br />
The scope of this project is �desktop Linux� rather than �open source desktops� because using the<br />
latter terminology is both broader and more restrictive than fits our purposes:<br />
- There are a number of open source operating systems other than Linux, most notably the<br />
FreeBSD operating system, but almost all of the efforts to offer an open source desktop<br />
solution focus on Linux-based operating systems2.<br />
- While it is important that the �platform� pieces of the operating system, upon which<br />
applications are built, be open source, we believe that a healthy software eco-system includes<br />
a thriving community of commercial software vendors. Indeed, one of the weaknesses of the<br />
current Linux desktop offerings is the absence of a strong end-user ISV industry.<br />
THE LONG LINUX MARCH TO THE DESKTOP3<br />
3<br />
The Long Linux March to the Desktop<br />
1991: Linux introduced<br />
1991: Unix X11 GUI framework ported to<br />
Linux<br />
1998-1999: KDE 1.0 &amp; GNOME 1.0 � real<br />
GUI environments for Linux<br />
2001: Ximian Evolution 1.0 � can be<br />
turned into a Microsoft Exchange client<br />
2002: StarOffice 6.0 / OpenOffice 1.0 �<br />
real alternatives to Microsoft Office<br />
2002: Mozilla 1.0 � a competitive browser<br />
2002: KDE 3.0 &amp; GNOME 2.0 � Linux GUIs<br />
become more polished<br />
2003: Munich switches to Linux � The first<br />
big desktop success stories emerge<br />
In China, more than 1 million PCs shipped with Linux preinstalled last year.<br />
Desktop Linux Overview<br />
Page 6</p>
<p>4<br />
THE ADOPTION CYCLE<br />
4.1 Looking back<br />
Many technologies have enjoyed widespread success when a new application was released that<br />
allowed the benefits of the new technology to fully demonstrate themselves. The Macintosh<br />
computer, for instance, started gaining momentum with the release of Adobe Pagemaker and the<br />
postscript printer, creating the desktop publishing industry. Likewise, the Internet was used only in<br />
academic and technical circles until the release of the Mosaic web browser. As a result, some people<br />
believe that the emergence of a �killer app� will be critical to broader desktop adoption of Linux.<br />
Examining the adoption of Linux servers reveals a different dynamic of adoption, bearing some<br />
striking similarities to the adoption cycle of the personal computer: from the edge towards the<br />
center. First adopted on the fringes of the enterprise, Linux is now well on its way to the center of<br />
the enterprise, the data-center. Until around 1997, Linux use was largely restricted to researchers,<br />
scientists, �hackers� (enthusiasts) and users in the academic communities. The dot-com boom lead<br />
to much broad adoption of Linux servers, with ISPs and dot-coms leading the way. Linux was<br />
typically deployed �on the edge� for mail, web, DHCP or DNS servers, for instance. Medium-sized<br />
and larger corporations started deploying Linux also as departmental file- and print-servers. Having<br />
proven its reliability as a reliable, cost-effective work-horse, Linux is now being deployed more<br />
centrally. It is increasingly used as the basis for databases, application servers, and is even beginning<br />
to support the ERP and CRM applications at the center of the data-center. In a February study by<br />
IDC, 14% of respondents indicated that they were supporting database software on Linux, versus 2%<br />
who reported supporting ERP or CRM applications.<br />
While web- and mail-server applications could be described as �killer apps� for the Linux server,<br />
Linux has always been more of a Swiss-army knife. Its real advantages have been the broad range of<br />
available tools and applications, similarity to UNIX, broad implementation of open standards and<br />
protocols, low deployment cost, and, perhaps most importantly, the thriving community of users and<br />
developers and the rapid cycle of bug fixes and innovation that flow from the open source nature of<br />
the OS. Open source has been the real killer feature of Linux, and will continue to be as Linux takes<br />
hold on the desktop, with early adopters solving problems they encounter and contributing those<br />
changes back to all users using the open source development process.<br />
4.2 Factors and trends that are favoring Linux desktop adoption<br />
We do not believe that there will be a killer app that will propel Linux desktop adoption. For one<br />
thing, innovative applications, especially open source ones, tend to be network-oriented and can be<br />
relatively easily ported to different operating systems. Instead, we believe that a number of factors<br />
and trends will lead to more broad-based adoption of Linux as a client user environment. It remains<br />
to be seen what the relative strength of these factors will be, and how powerful their cumulative<br />
impact will be.<br />
Desktop Linux Overview<br />
Page 7</p>
<p>4.2.1 The success of Linux as a server computing platform<br />
As Linux proves itself as a server operating system and the Linux eco-system grows, existing and<br />
potential customers begin to consider it more seriously for the desktop as well.<br />
4.2.2<br />
The emergence of credible desktop offerings, including the availability of solid productivity<br />
applications that interoperate with their Windows counter-parts<br />
The KDE and GNOME desktops have reached a level of maturity where they offer an acceptable end-<br />
user experience. The availability of strong cross-platform application suites, including the<br />
Mozilla/Netscape browser suite and the OpenOffice/StarOffice office suite, complemented with other<br />
core productivity applications that interoperate and offer a similar user-interface to their Windows<br />
counterparts, such as Ximian�s Evolution PIM suite, are the cornerstones of a credible desktop<br />
offering. The availability of client software allowing users to access their organization�s transactional<br />
applications is the next critical step. Less visible to most users, but critical to people with disabilities<br />
and to government adoption of Linux on the desktop, is the progress that, notably, the GNOME<br />
project has made in the area of accessibility, which is the reason that the Department of Defense is<br />
now able to consider Linux as a desktop alternative.<br />
4.2.3 The commodification of the operating system<br />
There have been few dramatic changes on the desktop in recent years. Many users feel that the<br />
desktop and the office productivity suites are essentially �done�: they are mature products that work<br />
reasonably well. As a result, consumers and corporate users alike are increasingly reluctant to<br />
upgrade their software. With the phase of rapid innovation essentially over, the desktop operating<br />
system is becoming a commodity product. The increasingly web-centric nature of computing also<br />
contributes to the commodification of the OS: the OS is becoming less important for some users than<br />
the web browser, for instance. These factors make it easier for alternatives such as Linux-based<br />
desktops to catch up in terms of the functionality and the user experience they offer, and provide a<br />
�good enough� alternative for many users. Microsoft and other stakeholders, such as OEMs, will<br />
make efforts to fight this trend but, unless a new killer application appears that dramatically raises the<br />
stakes in terms of desktop software requirements, their efforts to sell upgrades to their existing<br />
customers will increasingly meet with resistance from end-users, especially in tough economic times.<br />
4.2.4 Structural challenges for the monopoly provider<br />
Facing market penetration reaching saturation levels in the most lucrative markets, and pressure to<br />
maintain an astronomic market capitalization that is fueled by expectations of continued rapid<br />
revenues growth, Microsoft may have little choice but to resort to increasingly aggressive upgrade<br />
strategies (such as its new licensing practices) for the desktop operating system and productivity suite<br />
that bring in the bulk of its revenues, encouraging customers to look for cheaper replacements for<br />
commoditized software. This may have been the reason for Microsoft�s Licensing 6.0 and the<br />
subsequent changes in their business practices.<br />
4.2.5 The falling cost of personal computers<br />
With new computers now for sale at Walmart and elsewhere for less than $200, the cost of the OS<br />
and other bundled Microsoft software has become the most expensive component of a PC. Vendors<br />
operating on razor-thin margins and price-conscious customers will naturally look to save on the<br />
most expensive components.<br />
Desktop Linux Overview<br />
Page 8</p>
<p>In June, 2003, the regional government of Extremadura, Spain, announced the deployment of<br />
4<br />
80,000 Linux desktops in local schools .<br />
4.2.6 Centralization and more server centric computing (including Net-centric computing)<br />
Facing a long and deep economic slump, and with some analysts claiming that the competitive<br />
advantages of IT investments have been oversold, IT managers are under pressure to rationalize their<br />
computing infrastructure. Manageability issues and more network-centric operations are leading<br />
many to take another look at server-centric computing, including thin clients, at the same time that<br />
more enterprise applications are deployed as web applications. Consumers, for their part, are<br />
spending an increasing fraction of their time in front of the computer online, in chat rooms and<br />
destination web sites, rather than using client-based applications such as word processing.<br />
Conceived as a network operating system, featuring a number of solid web browser alternatives and<br />
with an increasing number of terminal emulation and other virtualization solutions, Linux stands to<br />
gain from these changes.<br />
4.2.7<br />
Increasing concerns by corporations and public institutions about being beholden to a<br />
monopoly supplier, and a desire for open standards and a level playing field<br />
Many people have serious misgivings about their ability to maintain access to their data if that data is<br />
encoded in closed, binary files. As one writer put it:<br />
�We continue to live in a world where all our know-how is locked into binary files in an unknown<br />
format. If our documents are our corporate memory, Microsoft still has us all condemned to<br />
5<br />
Alzheimer&#8217;s.&#8221;<br />
One concern is the ability in future years to access documents in by then obsoleted file formats.<br />
Office 2000 no longer natively supports the ability to read ten year old Office 4.0 documents. Ten<br />
years is a long time for a consumer, but it�s a heartbeat for the archivists and librarians who help<br />
public and private sector companies develop their data management strategies. In some countries,<br />
the medical and legal communities require archival access for longer periods of time. Another oft-<br />
cited concern is the ability to extract data from corrupted binary documents.<br />
A greater concern to US buyers and, even more so, public and private institutions abroad, is the<br />
tremendous reliance on an aggressive monopoly provider for critical and costly pieces of the<br />
computing infrastructure. Buyers, especially large, institutional buyers, want choice and control.<br />
Deploying Linux in and of itself provides them with both: it increases their choices and gives them<br />
more control: open source solutions don�t provide a vendor with a proprietary lock-in (witness the<br />
number of vendors offering OpenOffice-based productivity suites) and a buyer who deploys Linux in<br />
their enterprise finds itself instantly in a much stronger bargaining position with Microsoft and able<br />
to get more favorable treatment.<br />
Public institutions must additionally consider the policy considerations that public funds should as<br />
much as possible be used on technologies that support open standards, help maintain national<br />
sovereignty, and nurture the local IT industry.<br />
4.2.8 Anti-piracy efforts<br />
According to the Business Software Alliance, 94% of software installed in China in 2000 was pirated6.<br />
Things have gotten slightly better since then, but even so, seven out of ten million PCs shipped in<br />
Desktop Linux Overview<br />
Page 9</p>
<p>China last year shipped without a licensed operating system. As China and other developing<br />
countries crack down on software piracy, people will switch from pirated software to the most<br />
inexpensive legal solution. It comes as no surprise therefore that Red Flag Linux, the leading Linux<br />
distribution in China, came pre-installed on more than a million desktop computers last year.7<br />
More Linux desktops are shipping this year than Mac OS desktops<br />
4.3<br />
The Linux desktop adoption cycle<br />
Phase 1: Highly technical<br />
Phase 2: Transactional<br />
Phase 3: Knowledge workers,<br />
users<br />
workers, web-centric<br />
small businesses, mainstream<br />
consumers<br />
consumers<br />
Engineers,<br />
Call-Center staff,<br />
Managers,<br />
System Administrators,<br />
Point of Sale workers,<br />
Marketing staff,<br />
Scientists,<br />
Car Dealers,<br />
Business owners,<br />
Content creators &#8230;<br />
Data Entry workers &#8230;<br />
Reporters &#8230;<br />
Now<br />
Starting in 2004<br />
No major adoption in the US<br />
until 2007, if then<br />
Broad-scale adoption of Linux<br />
Significant adoption of Linux<br />
Some adoption of Linux<br />
4.3.1 Phase 1: Highly technical users<br />
Linux is already widely used as a workstation by computer programmers, system administrators,<br />
Hollywood animators, graduate students, and researchers in the sciences and other highly technical<br />
users. This class of Linux desktop users is mainly migrating from UNIX workstations.<br />
4.3.2 Phase 2: Transactional workers, web-centric consumers<br />
Many workers use only a very limited number of computer applications. Their workflow and job<br />
responsibilities are well defined. Substantial cost-savings can be realized by moving these workers to<br />
a computing platform that�s �locked down� (ie. can�t be changed by the user), free from viruses and<br />
other security risks and can be centrally administered. In Europe, pilot projects to deploy Linux for<br />
these types of transactional workers are already under way, and the all-important early success stories<br />
will become public later this year. US companies are, generally speaking, a little behind their<br />
European peers, so we expect that high-profile customer success stories are, for the most part, still 18<br />
months or so away.<br />
Web-centric consumers are another group of users for whom Linux may be an appropriate desktop<br />
solution. People who just want a cheap computer that allows them to browse the Internet, play music<br />
and check e-mail may be attracted to $200 computers running the Lindows or Lycoris Linux<br />
operating system.<br />
4.3.3 Phase 3: Knowledge workers, small businesses, mainstream consumers<br />
We believe it will take at least another four years before significant numbers of knowledge workers,<br />
small businesses and mainstream consumers adopt Linux, for reasons discussed below.<br />
Desktop Linux Overview<br />
Page 10</p>
<p>We believe that Linux adoption outside of the US will mostly follow the same adoption cycles as<br />
adoption in the US. However, it is quite possible that Linux adoption on the desktop will take place<br />
more quickly, and in greater numbers, outside of the US. For instance, while enterprises in the US<br />
are just now planning their Linux pilot projects, their European counter-parts may be already well<br />
into these projects. There are also countries where Microsoft Office�s market penetration is not as<br />
high as in the US (Germany or Korea, for instance). Knowledge workers there may be more likely to<br />
convert to Linux. In developing countries, including Thailand and Brasil, government initiatives to<br />
support low-priced PCs for low-income citizens may boost Linux adoption among consumers.<br />
In addition, there is a likelihood that Linux may be the more or less hidden OS on a broad range of<br />
less traditional computing devices � and one of those devices may become the killer device8 that puts<br />
Linux in the hands of millions of consumers. This includes devices like TiVO, the Zaurus PDA etc.<br />
5<br />
DESKTOP LINUX: THE STATE OF THE PRODUCT<br />
�Bill Gates was the first to realize the power of �good enough.� We don�t have to offer the perfect<br />
desktop environment, just one that�s good enough for most people.�<br />
5.1 The desktop<br />
There are two main desktop environments for Linux, KDE and GNOME. Both are fully open source<br />
and include a desktop environment, file manager, a number of administration tools, a set of<br />
applications ranging from simple games to integrated web browsers and full-fledged office<br />
productivity suites (in the case of GNOME, Ximian offers a version of OpenOffice that has been<br />
integrated with the rest of the desktop environment; the KDE organization offers its own office suite,<br />
KOffice) and a set of libraries and tools that help programmers develop applications for these<br />
desktop platforms. Ximian also offers a desktop updater called Red Carpet9.<br />
KDE and GNOME have both reached relatively mature status: these desktop environments still lack<br />
some of the polish of Windows XP or Mac OS X, but they are reasonably polished and stable, and<br />
include at least as many end-user applications as the main commercial desktop operating systems.<br />
Each of the desktop projects claims that their project offers an easier migration path for Windows<br />
users. The reality is that both projects behave slightly differently from Windows, but both can be<br />
easily themed and configured to look, feel and behave quite similarly to Windows. While they can<br />
also be made to look very similar to OS X, few would argue that either project comes, as of yet, close<br />
to offering the same polished, integrated look and feel and ease of use.<br />
Some people believe that the existence of two competing desktop environments creates confusion in<br />
the minds of users. While this may be true, neither project is likely to disappear anytime soon: each<br />
project has a significant base of developers and users, with GNOME more prevalent in the US due to<br />
favored treatment by Red Hat and Ximian�s efforts to polish this product, and KDE more popular in<br />
Europe, where SuSE, which has invested more energy in polishing KDE, has a greater marketshare.<br />
Competition also has its positives, encouraging both projects to improve and adopt the best features<br />
of the other. Red Hat has focused on creating a unified look and feel for both KDE and GNOME, to<br />
the point that the user can hardly tell which environment they are in. Recently, the two projects have<br />
Desktop Linux Overview<br />
Page 11</p>
<p>pursued somewhat diverging strategies, with the GNOME project developing comprehensive user<br />
interface guidelines and focuses on developing a simple, elegant solution and removing some of the<br />
unlimited configurability that has long been a hallmark of open source projects, while the KDE<br />
project continues to offer its users an almost infinite number of configuration option. This<br />
divergence gives uses a richer choice, with different projects suiting the needs of different types of<br />
users. Increased cooperation between the two main desktop projects makes it easier for users to<br />
�mix and match� applications built for different desktop environments.<br />
In sum, the two desktop environments are here to stay, but, encouragingly, they are pursuing<br />
somewhat different visions, resulting in more meaningful choice for users. It is also becoming easier<br />
to use applications built for GNOME with KDE, and vice versa.<br />
Bottom line:10 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
5.2 The desktop developer platform<br />
KDE and GNOME are not just end-user desktops with assorted utilities, they are developer platforms,<br />
offering tools and development libraries to people who want to develop applications for these<br />
platform. Unlike Windows or the Macintosh OS, which each provide one desktop platform with a<br />
unified look and feel and one dominant developer environment, the existence of multiple desktop<br />
platforms for Linux, along with the small market share of the Linux desktop, has lead to a<br />
proliferation of desktop developer platforms on Linux, including not just KDE and GNOME but also<br />
WINE, a set of libraries that allow Windows applications to either run unmodified on Linux or be<br />
easily ported to Linux, and OpenOffice and Mozilla, which each come with their own programming<br />
environments. These platforms are not all equivalent, and each have their own reason for being, but<br />
the resulting heterogeneity makes it hard to offer a consistent end-user environment and can be<br />
bewildering for developers considering porting their applications to Linux.<br />
It should be pointed out that efforts such as Galeon, the Mozilla-based web browser for GNOME, and<br />
Ximian�s integration of OpenOffice into GNOME have risen to the challenge of integrating the Linux<br />
desktop. But many other end-user applications, from Adobe Acrobat, to Real Player, to, obviously,<br />
Microsoft Office running under CrossOver Office, or any application that�s either running under<br />
WINE (Adobe Photoshop) or has been ported to Linux using the WINE libraries (IBM Home Page<br />
Builder), presents the same challenge, ensuring that offering a truly integrated Linux desktop will<br />
continue to be a challenge for years to come.<br />
With no easy solution to this problem in sight, collaboration between the various projects and joint<br />
efforts at a lower level of the desktop stack �somewhere between the kernel and the desktop<br />
platforms� will be a key to the viability of the Linux desktop.<br />
Desktop Linux Overview<br />
Page 12</p>
<p>On the positive side, there are a number of solutions that make it easy to build cross-platform<br />
applications:<br />
- Qt, a cross-platform toolkit, supports Linux, UNIX, Windows and OS X;<br />
- The WINE libraries can ease the migration of Windows applications;<br />
- Borland�s Kylix development tools for Linux make it very easy to port applications from<br />
Windows and Delphi 7: porting can be as simple as recompiling applications with Kylix;<br />
- wxWindows is an open source, cross-platform native UI framework used, among others, by<br />
OSAF�s Chandler project;<br />
- Java applications will run on Linux, UNIX, Windows, Macintosh and embedded devices.<br />
�There is technology to write code once and to deploy on Windows, Linux, UNIX and the Macintosh<br />
platforms with little extra cost. Companies that plan to use heterogeneous desktops in the future, or<br />
even intend to switch totally, could start preparing today, either by developing against cross-platform<br />
APIs or by requiring their contractors to develop against cross-platform APIs.� &#8211; Matthias Ettrich<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /><br />
5.3<br />
Hardware support<br />
5.3.1 Main devices<br />
Linux can be easily installed on most desktop computers sold by major vendors these days, thanks to<br />
solid device support in the Linux kernel and with leading Linux distributions offering easy to use<br />
graphical installer software that features good automated hardware detection. It can still be a<br />
challenge, however, to install Linux on many popular laptops. Power management or screen<br />
brightness adjustment, for instance, are poorly supported on many laptops. And if the Linux installer<br />
doesn�t identify the floppy drive or CD/DVD reader in a laptop�s docking station, installing Linux can<br />
quickly become a daunting task.<br />
This is more of a problem for reviewers (including, significantly, reporters and IT decision-makers)<br />
then for most average end-users, since few users ever attempt the daunting task of installing an OS on<br />
a computer. Enterprise users get their computers from system administrators who can either<br />
purchase systems with Linux pre-installed or who have a centralized system that automates the<br />
process of installing operating systems on a PC. Average home users, of course, use the operating<br />
system that came pre-installed when they purchased their computer.<br />
Bottom line: Desktop computers: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ?| Laptops: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /><br />
5.3.2 Peripheral devices<br />
Peripheral device support has gotten a lot better on Linux, with software such as CUPS offering an<br />
abstraction layer that can identify and support a broad range of printers. Support for USB devices is<br />
also becoming more common on Linux. As a result, an enterprise looking to deploy hundreds of<br />
Linux desktops can easily purchase systems and peripheral devices that will be fully supported on<br />
Linux.<br />
Desktop Linux Overview<br />
Page 13</p>
<p>Still, too many devices remain unsupported or poorly supported on Linux. A consumer trying to<br />
make his MP3 player, DVD burner, storage peripheral, scanner, webcam, PDA or camcorder work<br />
under Linux is likely to give up in despair. Drivers may not be available for Linux. Some devices<br />
require recompiling the operating system�s kernel. Devices that have been mounted onto the kernel<br />
may not automatically appear on the desktop. End-user applications may not recognize all the<br />
available devices. Graphical installation software for printers may not offer �discovery� of devices,<br />
graphically displaying which computers are available on the network, and which devices are available<br />
on each computer.<br />
In sum, while it may be true that Linux already supports a broader range of peripheral devices then,<br />
say, the Macintosh platform, it is too often a lot harder (to put it mildly) for a Linux desktop user to<br />
install and get access to critical peripheral devices and a significant amount of work remains to be<br />
done before peripheral device support on Linux will be acceptable for a mainstream consumer.<br />
Some of the work needs to be done by device vendors, some of it by the Linux vendors, some of it by<br />
the maintainers of end-user applications.<br />
One of the people we spoke with, Red Hat�s Havoc Pennington, has proposed a hardware abstraction<br />
layer which would manage all the peripheral devices installed on a computer and provide an easy<br />
way for applications to recognize and support the relevant devices. Havoc�s proposal is available at</p>
<p>http://ometer.com/hardware.html.</p>
<p>Bottom line: Enterprise users: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> ?| Home users: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
5.4 Core apps: Browser<br />
There are three mature (families of) web browsers available for Linux users: Mozilla and Mozilla-<br />
based browsers such as Galeon, Konqueror (the rendering engine of which is also used in Apple�s<br />
Safari browser) and the commercial Opera browser. Each of these browsers (in the case of<br />
Konqueror, the browser�s rendering engine) gets the majority of its users not from Linux users but<br />
from Windows or Macintosh users, so that the adoption of these browsers is not limited by the size of<br />
the desktop Linux market. Linux users can also run Internet Explorer under CrossOver Office.<br />
While some sites don�t display correctly on the browsers that are available to Linux users, the vast<br />
majority do. Plug-ins for the major multimedia file formats also work correctly under Linux. As a<br />
result, with some exceptions, Linux users in the US have few significant problems accessing web sites.<br />
In Asia, the situation is somewhat different. Many popular sites are targeted and tested only on<br />
Internet Explorer and do not work at all with other browsers. For example, popular music sites in<br />
Korea use embedded Windows Media players and only run on Internet Explorer � and Internet<br />
Explorer for Windows, for that matter.<br />
Microsoft�s recent announcement that they will drop support for Internet Explorer on the Macintosh<br />
is good news for Linux desktop users. It means that large web sites that want to serve Macintosh<br />
users will have no choice but to test their sites on Safari, leading to more standards-compliant web<br />
sites. And since many web designers develop sites on the Macintosh, they are also more likely to<br />
Desktop Linux Overview<br />
Page 14</p>
<p>build more standards-compliant sites. This will benefit not just the Konqueror browser, but Mozilla,<br />
and all alternative browsers.<br />
On the other hand, America Online�s renewed partnership with Microsoft, as part of which AOL will<br />
continue to use Internet Explorer for years to come, raises renewed questions about the future of the<br />
Netscape browser.<br />
Bottom line: US users: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ?| Users in Asia: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
5.5 Core apps: PIM<br />
Ximian�s Evolution PIM suite deliberately mimics the look, feel and functionality of Microsoft<br />
Outlook, adding in powerful additional functionality such as vFolders. Evolution can also<br />
interoperate in a Windows environment, acting as an Exchange client for Exchange 2000 servers. The<br />
KDE project and the Mozilla suite also offer PIM functionality.<br />
Chandler, an innovative PIM project currently under development at the Open Source Applications<br />
Foundation, has been designed to perform equally well under Linux, Windows and OS X.<br />
The weakness of all of these projects is that they do not interoperate with all versions of Microsoft<br />
Exchange (Exchange 5.0, for instance, is not supported by Ximian Evolution) and do not always easily<br />
synchronize with PDAs, cell phones, popular web portals etc.<br />
Bottom line: Standalone users: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ?| Users who interoperate with Exchange or use PDAs etc: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /><br />
5.6 Core apps: Productivity suite<br />
OpenOffice and StarOffice, the commercial version, are by far the leading productivity suite on Linux,<br />
but there are other choices. Corel continues to offer WordPerfect on Linux. The KDE project offers<br />
KOffice. AbiWord and Gnumeric, while less integrated than KOffice and OpenOffice, have also<br />
emerged as mature projects that provide good, modular applications that serve their target market<br />
and in many regards compare favorably to OpenOffice and even Microsoft Office.<br />
After more than 10 years of development, OpenOffice is a complete, mature product that adequately<br />
reads and writes most Microsoft Office files11, and the version released by Ximian as part of the<br />
Ximian Desktop 2.0 integrates reasonably well with the rest of the Linux desktop.<br />
Fairly aggressive marketing of StarOffice, which also runs under Windows and a number of other<br />
operating systems, by Sun Microsystems, combined with resistance towards Microsoft�s newest<br />
licensing schemes have lead industry analysts to conclude that StarOffice is likely to capture up to<br />
10% of the office productivity suites market by 200712.<br />
Still, while OpenOffice boasts a feature set that meets and, in some cases, exceeds Microsoft Office,<br />
Microsoft Office offers a far more polished user interface and user experience than its open source<br />
competitor. The icons and templates that ship with OpenOffice lag behind those provided by<br />
Microsoft Office and more work remains to be done for OpenOffice to smoothly integrate into the<br />
Desktop Linux Overview<br />
Page 15</p>
<p>Linux desktop. Also, while the licensing by SuSE and Ximian of commercial fonts that mimic the<br />
main Windows fonts, has made it a lot easier to correctly display Windows documents on Linux, file<br />
incompatibilities continue to be a concern for knowledge workers looking for an alternative.<br />
�The last mile for OpenOffice/StarOffice still needs to be funded by someone.�<br />
We anticipate that it will take at least two more years before the industry press and other opinion<br />
leaders declare OpenOffice �compatible� with Microsoft Office, assuming that Microsoft does not<br />
create significant new file-format obstacles to its challengers (a risky assumption given the company�s<br />
past practices). To be fair, even Microsoft doesn�t achieve perfect compatibility between different<br />
versions of Microsoft Office. The OS X version of Microsoft Word, Word 2000 for Windows and the<br />
Word Reader software all have slight incompatibilities, not that dissimilar from the problems<br />
OpenOffice users face.<br />
Bottom line: Transactional workers: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ?| Knowledge workers: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
5.7 Core apps: Instant messaging<br />
GAIM, one of the leading open source instant messaging products, supports AIM, Yahoo Messenger,<br />
MSN and ICQ. GNOME Meeting is compatible with Microsoft Meeting (if you can get your webcam to<br />
work under Linux). The open source Jabber instant messaging system shines on Linux. In sum,<br />
instant messaging is one of the areas where Linux shines.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
5.8 Core apps: Multimedia support<br />
Flash, Adobe Acrobat and Realplayer are all available under Linux. Windows Media Player and<br />
Quicktime can be run using CrossOver Plugin. Still, multimedia support is problematic for many<br />
Linux desktop users, with MIME type settings confusing under most environments and many popular<br />
sites, such as Yahoo�s video services, not working on Linux without major tweaking. Part of this is<br />
due to patents conflicting with the GPL and being generally unfriendly to open source, an issue that<br />
looms over other parts of Linux as well.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /><br />
5.9 Other applications<br />
While there are thousands of applications available for free under Linux, few popular commercial<br />
consumer titles are available on Linux. There is financial management software available for Linux<br />
users, but not Quicken or Microsoft Money. Most popular games are not available on Linux,<br />
although a company called TransGaming Technologies has made hundreds of leading Windows<br />
games run properly under Linux based on WINE.<br />
The reality is that the best effort to offer a consumer catalog of end-user applications, Lindows� Click<br />
&amp; Run Warehouse, is still a somewhat drab affair when compared to the aisles of commercial software<br />
Desktop Linux Overview<br />
Page 16</p>
<p>available to Windows users. This situation is unlikely to improve for several years. Even if Linux<br />
secures a larger place of the desktop market than the Macintosh OS, many of these desktop users are<br />
likely to be transactional workers, not consumers who purchase lots of commercial applications. It<br />
should also be pointed out that the Macintosh ISV industry is tiny when compared to the Windows<br />
ISV community. When consumer applications are ported to Linux, they are likely to be ported using<br />
the WINE libraries, and look and feel like Windows applications, integrating poorly with the rest of<br />
the Linux desktop.<br />
Nonetheless, as a practical matter the continued improvement of WINE and the WINE libraries will<br />
continue to be important for gamers and other consumers wishing to move to Linux.<br />
Fortunately, applications are increasingly moving to the web. Consumers playing games on Yahoo,<br />
or enterprise workers running Java applications in a web browser may find Linux to be a fine client<br />
platform in most cases.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
5.10 Connectivity with Windows<br />
There are any number of ways for Linux users to interoperate with Windows users:<br />
- Dual booting: Linux and Windows partitions can be installed on the same computer,<br />
allowing the user to choose at start-up time which OS they wish to boot in;<br />
- Network access: Linux users can more or less readily access Windows network volumes<br />
using the SMB protocol. Lycoris, Lindows and Ximian users, for instance, have access to a<br />
GUI network device utility that is very similar to My Network Places under Windows,<br />
allowing them to easily access Windows volumes;<br />
- Virtual machines: solutions like VMWare and Win4Lin allow Linux users to install Microsoft<br />
Office as a virtual machine, and run Windows, complete with any Windows application, in a<br />
window on their Linux desktop;<br />
- Terminal servers: products such as Citrix�s Linux client or Tarantella�s Enterprise 3 allow<br />
Linux users to remotely run Windows applications in a window on their Linux desktop;<br />
- Windows emulation: WINE and its commercial offspring, CrossOver Office/Plugin and<br />
WineX allow users to run Windows applications as-is under Linux. This works great for<br />
Microsoft Office, Internet Explorer, Windows Media Player, and Adobe Photoshop, for<br />
instance. Other applications, including Macromedia Dreamweaver, almost work � these<br />
applications either crash occasionally, or are lacking specific functionality (such as FTP<br />
support in Dreamweaver);<br />
- File format compatibility/functional equivalents: As discussed above, applications such as<br />
Ximian Evolution and OpenOffice offer varying degrees of file format compatibility, cloned<br />
functionality or ability to integrate in a Windows environment.<br />
All in all, there is an impressive range of connectivity solutions for Linux users who need to<br />
interoperate with Windows users. These solutions go a long way towards solving the compatibility<br />
problem for Linux.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Desktop Linux Overview<br />
Page 17</p>
<p>6<br />
THE DESKTOP LINUX ECO-SYSTEM<br />
Above, we reviewed the functionality and competitiveness of the different parts of the Linux desktop<br />
stack. In this section, we take a look at the health of the different parts of the Linux desktop �eco-<br />
system� � largely, we examine the availability of a critical mass of development activity at the different<br />
levels.<br />
6.1 Linux distributions<br />
The Linux project lead by Linus Torvalds is not an operating system. It is the kernel of an operating<br />
system. Linux vendors such as Red Hat and open source efforts such as the Debian project, focus on<br />
offering complete operating systems, which include hundreds of drivers, utilities, development tools<br />
and both server- and end-user applications.<br />
While Red Hat is the global leader in the Linux industry by a significant margin, it has a healthy<br />
number of competitors, including SuSE and MandrakeSoft in Europe, Red Flag Linux, Turbo Linux,<br />
and Hancom Linux in Asia and Connectiva in Latin America. Thanks to the open source nature of the<br />
OS, there are few barriers to entry, and there are customized Linux distributions for numerous<br />
countries and user profiles. In the US, for instance, many universities maintain their own Linux<br />
distributions, often derivatives of Red Hat Linux with just minor modifications.<br />
There are also a number of open source collaborations that produce Linux distributions, most<br />
prominently the Debian and Gentoo projects.<br />
Debian, it so happens, is also the basis for two of the most visible desktop-oriented Linux<br />
distributions, Lindows and Xandros.<br />
While a number of Linux distributions have gone out of business or are struggling financially, and<br />
while Red Hat is increasingly emerging as the global brand leader, there is a rich ecosystem of Linux<br />
distributions that each meet unique niches.<br />
These projects compete in the market place, but there is often close cooperation at the engineering<br />
level, and there are some business partnerships (eg. United Linux).<br />
Bottom line:13 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
6.2 KDE, GNOME, other desktops platforms<br />
KDE and GNOME are the leading open source desktop projects. Each of them counts hundreds of<br />
volunteers developers, supplemented by tens of employees contributing to the projects on behalf of<br />
companies with a vested interest in Linux (SuSE, Ximian, Sun Microsystems etc.). In addition to KDE<br />
and GNOME, there are a number of smaller desktop efforts. Most of these focus on delivering a<br />
desktop, as opposed to the full desktop environment (including developer platform and suite of end-<br />
user applications).<br />
Desktop Linux Overview<br />
Page 18</p>
<p>Both KDE and GNOME continue to sport a lively community and significant market place<br />
momentum. Neither project is likely to disappear, and there is no real prospect of the two projects<br />
�merging�. Each of the projects has ensured corporate sponsorships including, in the case of<br />
GNOME, a paid staff position, that help the projects organize developer conferences and the like.<br />
There are also increasing efforts to improve interoperability between the two environments, so that<br />
users can mix and match applications from both platforms without sacrificing a consistent<br />
experience.<br />
Likewise, other development platforms such as WINE, OpenOffice and Mozilla, have each succeeded<br />
in attracting a critical mass of developers and users.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
6.3 Open source application developers<br />
The Sourceforge project has made a significant contribution to the way open source applications are<br />
developed, offering a suite of tools to develop software in a collaborative fashion. The site hosts tens<br />
of thousands of open source projects, the best of which rapidly gain popularity as word spreads<br />
throughout the online communities of Linux users.<br />
The tools and infrastructure offered by Sourceforge are supplemented by other major projects, such<br />
as Mozilla, the Linux kernel project, OpenOffice, GNOME and KDE. These large-scale projects<br />
incubate tools such as Bugzilla and serve as training grounds or reference points for individual<br />
developers who strike out and start their own projects.<br />
The combined toolsets, know-how and open source code base are hard to match and explain to a<br />
large extent Linux�s success as a server operating system.<br />
There are also thousands of open source end-user applications. However, if we look beyond the<br />
leading projects, we find a set of applications with often incomplete feature sets or unpolished,<br />
inconsistent user interfaces. This is hard to remedy in an open source settings, where applications<br />
are typically developed by programmers wishing to �scratch an itch,� as opposed to entrepreneurs<br />
itching to meet a need and make a buck. One noteworthy development in this regard are the<br />
GNOME project�s user interface guidelines. All of the GNOME applications have benefited from these<br />
guidelines, which may make an important contribution to the establishment of a collection of<br />
applications and utilities that share a uniform and consistent user interface.<br />
Bottom line: quantity: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ?| quality: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /><br />
6.4 Commercial end-user ISV community<br />
There is no end-user Linux ISV industry to speak of. The leading consumer desktop applications for<br />
Linux are either open source (Mozilla, OpenOffice) or Linux ports of free utilities (Adobe Acrobat,<br />
Realplayer, Flash).<br />
Desktop Linux Overview<br />
Page 19</p>
<p>The small number of commercial desktop applications for Linux are mostly connectivity building<br />
blocks (CrossOver Office, Lin4Win) or inexpensive ports that use the WINE libraries (IBM Home Page<br />
Builder). TheKompany and Hancom Linux are exceptions, struggling to build a viable business<br />
offering end-user software to Linux users.<br />
It is unclear whether this situation will ever really change. It should be noted that even the<br />
Macintosh ISV community appears to be steadily shrinking, with more and more OS X software<br />
developed by individual developers or small businesses on a shareware model. In the case of Linux,<br />
even if desktop adoption does continue to increase, we predict that the majority of users will be in<br />
the enterprise, education and public sectors, and are likely to rely on open source applications,<br />
specialized enterprise applications and web-based applications, leaving few opportunities for a<br />
desktop ISV community.<br />
In view of the limited market potential, we predict that most consumer software for Linux will<br />
continue to use WINE libraries. The cross-platform Qt toolkit, combined with Borland�s cross-<br />
platform developer suite may be a logical choice for enterprise applications.<br />
Fortunately, the absence of a significant range of commercial end-user desktop applications does not<br />
spell the failure of Linux on the desktop.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
6.5 OEMs<br />
Hundreds of white-box vendors ship PCs that come with Linux pre-installed. Lindows alone claims to<br />
have signed up more than 100 such OEM partners.<br />
Some leading US OEMs offer workstations or desktops with Linux pre-installed, mostly outside of the<br />
United States. Some leading OEMs outside the US also ship Linux desktop systems. Still, in view of<br />
Microsoft�s tremendous power over OEMs, mostly through joint marketing and discount programs,<br />
major OEMs will continue to be very reluctant to put real muscle behind Linux-based desktops until<br />
there is a clear demand for these systems. After all, they stand to lose tens (if not hundreds) of<br />
millions of dollars in Microsoft marketing funds and discounts.<br />
Vendors have made important contributions to the Linux desktop though. For instance, Sun<br />
Microsystems played a critical role in adding accessibility (�Section 508�) technology to the GNOME<br />
desktop, which is the reason, for example, that the US Department of Defense is even able to<br />
consider Linux on the desktop.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /><br />
6.6 Distribution channels<br />
Like OEMs, PC retailers stand to gain a lot if Linux emerges as a real competitor on the desktop. All<br />
of them devote a significant amount of their shelf space to Microsoft products, some (including Best<br />
Buys and, in California, Fry�s Electronics) also offer house-brand PCs.<br />
Desktop Linux Overview<br />
Page 20</p>
<p>Like OEMs, retailers are wary of falling from Microsoft�s good graces, as they too stand to lose<br />
millions of dollars in marketing dollars and promotions. There are some notable exceptions to this<br />
rule, such as Walmart and TigerDirect, each of which offer both systems without operating systems<br />
and Linux-based desktops.<br />
With commercial applications lacking, and OEMs and retailers relunctant to embrace Linux desktops,<br />
it is easy to see why it will take years before consumers start adopting Linux in meaningful numbers.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
6.7 Consortia, other organizations<br />
United Linux, the most high profile industry alliance uniting Germany�s SuSE, Brazil�s Connectiva,<br />
US-based SCO Group and Turbo Linux in an effort to offer a unified Linux distribution that could<br />
become a real standard, has suffered severe setbacks lately as Turbo Linux withdrew from the US<br />
market and SCO Group abandoned its Linux products as part of its lawsuit against IBM.<br />
There are a number of other collaborative efforts in the Linux community that, while less high-<br />
profile, are each making meaningful contributions to Linux� long-term success, including success on<br />
the desktop:<br />
- Open Source Development Labs (OSDL): a joint effort between a number of industry<br />
leaders, including Dell, Fujitsu, Hitachi, HP, IBM and Intel, OSDL focuses on improving<br />
Linux as an enterprise-grade operating system. The organization recently made the news<br />
when it recruited Linus Torvalds as its first fellow, allowing Linus to finally dedicate his full-<br />
time efforts to the Linux kernel;<br />
- The Linux Standards Base: a working group of the Free Standards Group, this is an effort<br />
to create a standard to which all Linux distributions adhere, allowing software developers to<br />
build applications that will install and run on any LSB-compliant distribution. The first<br />
version of the LSB has been adopted, and LSB-compliant distributions (including Red Hat<br />
Linux) are now available;<br />
- The GNOME Foundation: while this organization does include an industry advisory board,<br />
the foundation is mostly a governing body for the GNOME project. The foundation�s board<br />
of directors, elected by GNOME contributors, oversees GNOME releases and sets strategy for<br />
the project, helping keep this super-sized �project of projects� moving in one direction;<br />
- The KDE League: the KDE League focusing mostly on PR activities for the KDE project;<br />
- Freedesktop.org: an informal collaboration, mostly between GNOME and KDE developers,<br />
that has already lead to improved interoperability between these two desktop environments;<br />
- GWU�s Center on Cyber-Studies: affiliated with George Washington University, this think-<br />
tank has recently added a number of open source leaders to its advisory organization. The<br />
center has organized several conferences on Linux in Government which are important<br />
forums for public-sector officials interested in Linux and open source;<br />
- Consumer Electronics Linux Forum14: a new industry consortium that includes<br />
Matsushita, Sony, Hitachi, NEC and other consumer electronics companies that want to<br />
collaborate on making Linux more appropriate for consumer electronics devices through<br />
Desktop Linux Overview<br />
Page 21</p>
<p>joint development in areas such as improved boot-up time and better performance in digital<br />
video recorders.<br />
OpenForum Europe: a subsidiary of technology lobbyist InterForum that aims to persuade<br />
-<br />
businesses around Europe of the benefits of open source software, and to level the playing<br />
field for open source when it comes to government procurement.<br />
In sum, there are a number of organizations where stakeholders can work together to address issues<br />
that need to be resolved in order to ensure broader adoption of Linux. These organizations also<br />
contribute to Linux� success on the desktop.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
6.8 News, conferences and support resources<br />
There is a broad range of information materials available to people interested in Linux, ranging from<br />
publications such as Linux Journal and Linux Magazine to news sites such as Linuxworld, Linux<br />
Today, Linux Weekly News and Slashdot. People interested in Linux on the desktop can go to<br />
Desktoplinux.com, among others.<br />
There are also a number of Linux trade shows and conferences, including Linux World, Linux Tag,<br />
Ottowa Linux Symposium, Enterprise Linux forums, the GNOME project�s GUADEC conference, the<br />
Open Sources conference, Lindows� Desktop Linux Conference and more.<br />
Most importantly, perhaps, there are hundreds of Linux Users Groups, mailing lists and message<br />
boards where Linux users can go for help. The mailing lists and message boards offer an unmatched<br />
online support system that allows Linux experts to solve their problems. Many of these lists, however,<br />
are inaccessible to end-users, given the often cryptic and jargon-laden way in which the experts offer<br />
assistance. End-user oriented businesses, and Lindows in specific, do offer lively discussion boards<br />
that solely focus on helping end-users, but finding simple, end-user oriented answers to user-space<br />
questions such as �My DVD burner doesn�t work. What do I do?� can be a daunting task in the Linux<br />
world.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /><br />
6.9 Customers<br />
While Linux has achieved near-mainstream adoption as a server operating system, these are still very<br />
much the early days of Linux desktop adoption. Most Linux adoption continues to take place among<br />
highly technical users. As a result, there is a lack of success stories about Linux adoption on the<br />
desktop and, for average consumers, there is no critical mass of peers who are using Linux. The<br />
emergence of enterprise, public sector and SMB success stories will be critical to Linux� success on<br />
the desktop.<br />
Bottom line: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
Desktop Linux Overview<br />
Page 22</p>
<p>7 MARKET ADOPTION<br />
Last July, IDC released a report on Linux desktop adoption where it anticipated an installed base of<br />
9.5 million Linux desktop for 2003, a number it expects to grow to 27.8 million desktop users by<br />
2006 (versus 9 million Linux servers). IDC predicts a CAGR of 44% for desktop Linux over the next 4<br />
years and, by 2006, a marketshare of 7% of the installed base and 10% of new unit shipments.<br />
According to IDC, Linux desktop shipments outstripped Macintosh shipments in 2002. By 2006,<br />
Linux will likely have a larger installed base than the Macintosh OS.<br />
We should remind readers that counting Linux adoption is an inexact science at best due to the open<br />
source nature of the OS: people can download Linux from any number of mirror web sites, burn and<br />
redistribute their own CDs, or install Linux on thousands of desktops across an enterprise from a<br />
single purchased copy. Also, IDC�s surveys indicate that Linux users tend to upgrade their systems at<br />
a much higher rate than users of other operating systems. Still, the general picture is clear: Linux is<br />
already in use by millions of users and these numbers will continue to increase rapidly, with industry<br />
analysts seeing Linux take up anywhere between 7% and 20% of the installed base by the end of the<br />
decade, and Linux outpacing the Macintosh OS as the alternative to Windows on the desktop over the<br />
next few years.<br />
7.1 Technical users<br />
Linux has already made significant strides in gaining over technical users such as engineers, system<br />
administrators, scientists, 3D animators etc. As these users deploy Linux, they often end up making<br />
contributions that benefit all Linux users, paving the way for the next wave of Linux adoption.<br />
Example: Dreamworks� new Sinbad: Legend of the Seven Seas was entirely created on Linux<br />
15<br />
workstations and rendering machines . Dreamworks uses about 1000 Linux workstations.<br />
Industrial Light &amp; Magic has also switched to Linux workstations, and Disney is deploying Linux<br />
as well. Hollywood animation studios often deploy Linux-based render farms and follow that up<br />
with Linux workstations for the designers. Some of the studios even take advantage of unused<br />
CPU cycles on the workstations to have them contribute to rendering jobs during designers� lunch<br />
breaks. One of the studios asked CodeWeavers for help in making Adobe Photoshop run under<br />
Linux. With CodeWeavers contributing all their code back to the WINE project, all Linux users<br />
are now able to run Adobe Photoshop under Linux, another example of the open source network<br />
effect.<br />
7.2 Transactional workers<br />
Many workers use only a very limited number of computer applications. Their workflow and job<br />
responsibilities are well defined. Customer support staff, bank tellers, sales reps, administrative staff<br />
or even many lawyers spend almost all of their time using just a few applications and don�t need the<br />
ability to run arbitrary third-party applications. Substantial cost-savings can be realized by moving<br />
these workers to a computing platform that�s �locked down� (ie. can�t be changed by the user), free<br />
from viruses and other security risks and can be centrally administered. The ability to save hundreds<br />
of dollars on each workstation by using open source software is a secondary advantage. Training<br />
costs, while significant, are not necessarily a blocker for Linux.<br />
Example: 2% of the American workforce works in in-house or outsourced call-centers. These are<br />
the people that answer the phone when you call a customer service number. We talked to an IT<br />
Desktop Linux Overview<br />
Page 23</p>
<p>manager at one of the nation�s largest credit card companies. He�s currently rolling out Linux as<br />
the desktop platform for hundreds of technical workers in his firm. Once Linux has proven itself<br />
for that class of workers, he wants to convert several thousand call center workstations to Linux-<br />
based thin-clients. Terminal servers such as Citrix and open source tools such as RDesk will<br />
allow him to deploy Windows applications to these Linux clients, but his real goal is to convert the<br />
legacy Windows client applications used in the call center to Java applications that will be<br />
delivered to a Mozilla web browser on Linux. He plans to use almost exclusively open source<br />
software such as Mozilla and OpenOffice and isn�t worried about technical support: �IBM, HP,<br />
Red Hat and SuSE would all be delighted to provide support for us.� And if call center staff can�t<br />
install their favorite IM software or MP3 player, that�s fine for the IT manager, since it makes life<br />
easier for his system administrators.<br />
Example: An IT manager at one of the leading IT outsourcing companies told us he wasn�t<br />
worried about training costs. When his firm signs up a new client, the company may hire<br />
hundreds of new employees for engagements lasting at least six months. The new agents go<br />
through a six-week training period. The least of his training challenges is teaching workers how<br />
to use the desktop environment. Getting to know the hundreds of obscure features of the custom<br />
software that each client provides is a lot more challenging. The big challenge is making the new<br />
employees intimately familiar with this custom software so they can provide professional<br />
assistance to customers.<br />
7.3 Knowledge Workers<br />
We believe it will take at least another four years before significant numbers of knowledge workers in<br />
the US adopt Linux, for a number of reasons:<br />
- Exchanging documents with the rest of the world is not an occasional task for them, it is the<br />
lifeblood of their livelihood. �OpenOffice will properly display almost any PowerPoint<br />
presentation� is just not good enough for them;<br />
- They want and need the ability to install arbitrary applications on their system. They may<br />
have an application or macro they�ve relied on for the last 10 years that they never want to<br />
give up;<br />
- They�ve fine-tuned their desktop and developed work-habits on their computer that suit<br />
them perfectly. They�re in no hurry to give up a trusted, proven OS for something new and<br />
experimental that was developed by a group of hackers that creates features that �scratch an<br />
itch,� as opposed to in response to market research. In Neil Stephenson�s words, they may<br />
not want these �freaks� coming to their house16. And they�re not impressed by an<br />
application that has �all the features and more� of the application they�re familiar with, if it<br />
lacks the polish and integration they�ve gotten used to;<br />
- The software cost is relatively small compared to the value-add of these workers.<br />
7.4 SMB sector<br />
At least one analyst is upbeat about Linux prospects in the small and medium-sized business sector<br />
(SMB). Based on her customer research, Laura DiDio at the Yankee Group believes that these<br />
businesses are ready to move to Linux for a couple of reasons:<br />
- The transition to another desktop is easier and less traumatic than at larger companies, and<br />
decisions can be made more quickly;<br />
- Small businesses are most sensitive to cost issues than large enterprises;<br />
Desktop Linux Overview<br />
Page 24</p>
<p>-<br />
Linux has proven itself as a server operating system, and applications such as StarOffice help<br />
position Linux as a credible desktop platform.<br />
According to Ms. DiDio, the main concerns for these businesses are:<br />
- Clearly understanding the TCO of Linux versus Windows;<br />
- Clearly understanding transition and retraining issues;<br />
- Having a reliable source of support.<br />
HP�s recent announcement of a line of affordable desktops with Linux pre-installed that are geared at<br />
small businesses also points to small business interest in Linux desktops17.<br />
In response, the Yankee Group is preparing a set of documents that help businesses in the SMB<br />
sector understand TCO, transition and retraining issues, so that they can make an informed decision<br />
about whether to transition to Linux.<br />
According to this analysis, there could be a significant opportunity for desktop Linux companies like<br />
Xandros, Lycoris or Lindows to offer tools that assist companies in transitioning to Linux and provide<br />
24/7 support for Linux. Lindows, in particular, with its network of OEM partners, may be well<br />
equipped to tap into this opportunity since it already has partners (white-box vendors) in the field<br />
whose customers, in many cases, are the SMBs Ms. DiDio is talking about.<br />
Still, we believe that significant SMB adoption of Linux desktops remains elusive for now, for much<br />
the same reasons that we believe that knowledge workers� move to Linux is at least several years<br />
away:<br />
- Concerns about file-format compatibility. Document exchange with suppliers and customers<br />
is mission-critical to many small businesses;<br />
- Less narrowly-defined job descriptions and fewer training opportunities mean that SMBs are<br />
more reliant on their employees� ability to maintain their own systems and are less open to<br />
deploying non-mainstream applications;<br />
- They may not have access to in-house technical support, so they�re much more careful about<br />
deploying experimental technologies, and more reliant on technical support provided by<br />
ISVs. CrossOver Office does a great job running Microsoft Office, but SMBs will worry<br />
whether Microsoft will provide assistance if something goes wrong (probably not).<br />
7.5 Education<br />
Like small businesses, educational institutions are very price-sensitive. Like enterprises, they are<br />
relatively centralized institutions. At first glance, this would seem to indicate that they hold great<br />
promise for Linux. There are significant opportunities, but Linux is not the right solution for every<br />
educational institution.<br />
In the K-12 sector, there are major obstacles to broad-based desktop Linux adoption. Cash-strapped<br />
schools and other educational institutions are eager to realize cost-savings. On the other hand, they<br />
are reluctant to train students on non-mainstream tools and K-12 institutions in particular rely largely<br />
on educational software that is not currently available on Linux. In K-12 institutions, maintaining<br />
computers often depends on the ingenuity of teachers, students and volunteers, who are most likely<br />
Desktop Linux Overview<br />
Page 25</p>
<p>not familiar with Linux. Nonetheless, there is a community of K-12 educators that focuses on<br />
introducing open source solutions to elementary and secondary schools, at SchoolForge18. And, of<br />
course, there are major deployments taking place outside of the United States, such as the<br />
deployment of 80,000 Linux desktops in Spanish schools.<br />
Things look more promising in universities and colleges:<br />
- Many universities are traditionally UNIX shops that have started to migrate much of their<br />
server infrastructure to Linux running on PCs, in order to save costs. System administrators<br />
may be reluctant to become beholden to Microsoft. Many campuses have active Linux Users<br />
Groups that are advocates for broader Linux adoption;<br />
- Graduate students and faculty in the sciences are already using Linux workstations in large<br />
numbers. If they�re not, they probably log on to UNIX or Linux computing systems to run<br />
simulation and other computationally intense tasks. When this type of deployment of Linux<br />
workstations reaches critical mass, entire departments may standardize on Linux. The<br />
department, in turn, serves as a test-bed and model for other departments;<br />
- Data archivists on campus technology policy committees worry about the ability to access old<br />
documents as technology evolves. Techies on the committee worry about open standards<br />
more generally. They may work together to recommend Linux desktop deployments to<br />
managers eager to save money. And many universities are quite centralized, with central<br />
technology offices able to impose standards and practices campus-wide.<br />
As a result, we predict that, over the next 2 years, there will be an increasing number of desktop<br />
Linux deployments on universities. Many of these deployments will happen in sciences departments.<br />
We expect one of the drivers of this development to be a movement towards open file formats. We<br />
expect that a number of universities will respond to librarians� and IT staff�s concerns about open file<br />
formats by standardizing on open file formats for data interchange. The most likely beneficiary of<br />
these policies is likely to be the OpenOffice suite. We believe that more and more universities will set<br />
up OpenOffice in public access computer labs and making the application available to their students.<br />
While initial deployments of OpenOffice will mostly happen on the existing Windows computers,<br />
once students switch to OpenOffice, a major barrier to Linux adoption has been removed.<br />
Example: The Physics department at Duke is almost exclusively Linux based. Approximately<br />
100 graduate students, faculty and even administrative staff, do their work on Linux desktops.<br />
When necessary, the administrative staff boots up VMWare to run Microsoft Office. �Having<br />
administrative staff run MS Office using VMWare on Linux is a lot more secure and easier to<br />
administer then if we were running Windows desktops,� boasts the department�s system<br />
administrator. Like many other universities, Duke maintains its own Linux distribution based on<br />
Red Hat Linux. One of the sysadmins at the university also maintains Yum, a modified version of<br />
the Yellow Dog Updater that is used, among others by the ASPLinux distribution.<br />
7.6 Public Sector<br />
There are a wealth of Linux success stories in the public sector, mostly on the server side.<br />
Governments around the world are studying open source and promoting the adoption of Linux<br />
among public sector companies and agencies in a number of ways. Public sector consideration of<br />
open source alternatives often includes exploring the use of Linux on the desktop. We expect the<br />
public sector to be one of the major drivers of desktop Linux adoption.<br />
Desktop Linux Overview<br />
Page 26</p>
<p>Success stories of Linux desktop deployments in government agencies in the United States are now<br />
emerging. The City of Largo in Florida, where several hundred desktops were switched to Linux, is<br />
one of the most high-profile cases here. While there have been several promising developments at<br />
the federal level, it is at the municipal level that Linux desktops are most likely to be deployed in the<br />
US. As noted by Tom Adelstein in his review of Linux efforts by state and local governments19, the<br />
Business Software Alliance, Initiative for Software Choice, Computing Technology Industry<br />
Association, American Electronics Association and Association for Competitive Technology all actively<br />
lobby against state initiatives to promote open source, including proposed legislation in Oregon and<br />
Texas.<br />
20<br />
Example: City of Largo : In 2001, the Florida city of Largo switched from aging terminals to a<br />
thin-client environment based on Linux. Today, 5 people support more than 450 clients and over<br />
800 users. The thin clients can be bought new for around $750 but are often purchased used for<br />
as little as $5 each. The network is powered by several Compaq servers running Red Hat Linux<br />
and the Oracle database. Clients run a KDE desktop, but can run Excel and Powerpoint thanks<br />
to Citrix System�s Metraframe Windows 2000 terminal server. As noted earlier, the availability of<br />
terminal servers that can provide Linux clients with access to Windows applications is key to<br />
many organizations moving to thin Linux desktops.<br />
21<br />
Example: City of Houston : After failing to negotiate an acceptable license agreement with<br />
Microsoft, the City of Houston this January started phasing out Microsoft Office in favor of<br />
SimDesk, a web-based office suite offered by a local company. While SimDesk is being<br />
deployed on Windows, the move away from Microsoft Office as part of a thin-client solution is a<br />
good example of the search for alternatives coinciding with renewed interest in thin client<br />
solutions. As recently reported in Linux Journal, the migration is progressing smoothly and the<br />
22<br />
city is now exploring Linux-based alternatives .<br />
7.7 Consumers<br />
We believe that mainstream consumers in the US are least likely to adopt Linux as a desktop<br />
operating system. The absence of Linux desktops offered by mainstream vendors, scarcity of end-<br />
user applications, poor support for peripheral devices, the remaining lag in user-friendliness and the<br />
poor availability of end-user documentation and technical support will conspire against broad-based<br />
Linux adoption by consumers for a number of years to come.<br />
There may be a limited demand for Linux-based alternatives by a relatively small-number of web-<br />
centric consumers who just want an inexpensive computer that offers Internet access and multimedia<br />
support.<br />
7.8 Non-PC devices<br />
Linux is likely to continue to be deployed as the operating system of choice for a growing range of<br />
non-PC devices, ranging from kiosks, web terminals, digital video recorders and PDAs to cell phones.<br />
In some cases, the use of Linux in these devices will help strengthen Linux as a desktop alternative.<br />
The development and deployment of Linux-based kiosks and web terminals may lead to<br />
contributions to Linux desktop projects, web browsers etc. If a Linux-based web-browser secures a<br />
significant user base, that well help ensure that web sites will run properly on Linux.<br />
Desktop Linux Overview<br />
Page 27</p>
<p>In other cases, the underlying OS of popular new devices is likely to have relatively few benefits for<br />
desktop users. Linux� use for devices such as TiVo or the Danger hybrid cell-phone/PDA has few<br />
short-term benefits for desktop Linux users, but helps build momentum for the platform overall and<br />
may result in code contributions to Linux.<br />
Example: On July 1, 2003, a group of leading consumer electronics companies announced the<br />
creation of the Consumer Electronics Linux forum to adapt and advance Linux for use in<br />
consumer electronics. Its efforts to improve Linux� boot-up time and video performance may well<br />
benefit all Linux desktop users.<br />
7.9 Outside of the United States<br />
The dynamic of Linux adoption in the US and Europe is very similar, with Linux adoption in Europe<br />
recently appearing to advance at a more rapid pace than in the US. Outside of the US and Europe,<br />
Linux adoption, including on the desktop, holds even more promise, for a number of reasons:<br />
- As a result of education efforts by a number of different organizations, governments are<br />
increasingly sensitive to the importance of open standards;<br />
- The public sector, businesses and consumers alike are much more price-sensitive in<br />
developing countries than consumers in the US and Western Europe;<br />
- Anti-piracy efforts force people to obtain legitimate copies of software, and Linux is available<br />
free of charge;<br />
- A desire by many governments to support a fledgling local software industry and control<br />
their own IT future;<br />
- Especially in the wake of the Iraq war, there is an increased weariness of a United States<br />
perceived by people throughout the world as heavy-handed and controlling. People and<br />
governments around the world are eager to have a greater degree of independence when it<br />
comes to maintaining their IT infrastructure, rightly regarded as a critical part of their<br />
economic infrastructure. Many governments are wary about backdoors and other hidden<br />
features in technology that�s controlled by US corporate interests;<br />
- A smaller installed base means that it is easier to adopt non-Microsoft PCs.<br />
While in some countries in Europe (eg. Germany), enterprises are leading the way for Linux<br />
adoption, the public sector is often driving Linux desktop adoption outside of the United States.<br />
Publics sector efforts range from studies that evaluate the state of open source, to directives that open<br />
source be considered where appropriate, to actual deployments.<br />
Example: In India, IBM recently launched its first Linux desktop computer, the $850 NetVista A30<br />
and a Washington-based startup called Linare is targeting its $200 Linux desktop largely at the<br />
Indian market. India�s President Abdul Kalam recently confronted Microsoft Chairman Bill Gates,<br />
telling him that open source offers important security benefits and that open source offers<br />
23<br />
developing nations such as India the best opportunity to modernize.<br />
&#8220;The Indian market is going to be very price-sensitive. And they may be less (concerned about)<br />
compatibility, since they don&#8217;t have as huge an infrastructure tied into Windows. And despite a large<br />
middle class, Indians don&#8217;t buy as many computers as do United States residents. They&#8217;re called the<br />
software powerhouse of Asia, but they take only 2 million units a year&#8221; &#8211; IDC analyst Roger Kay24.<br />
Desktop Linux Overview<br />
Page 28</p>
<p>�In India, open-source code software will have to come and stay in a big way for the benefit of our<br />
billion people.&#8221;25<br />
Example: One year ago, the German Minister of the Interior signed an agreement with IBM for<br />
the advancement of open source software in the administration. Over the last year, the number<br />
of migrations to open source has increased dramatically. The Federal Cartel Office, the<br />
Monopoly Commission, the Federal Commission for Data Protection and the Institute of Animal<br />
Experiments have all partially or entirely converted their IT infrastructure to Linux and other open<br />
26<br />
source projects. A total of 500 public agencies have applied to join the outline agreement .<br />
Example: The most high-profile Linux desktop deployment to date was announced on May 28,<br />
2003, when the city council of Munich, Germany�s third largest city, approved the Mayor�s<br />
27<br />
proposal to migrate 14,000 desktops and notebook computers to Linux .<br />
&#8220;In the public sector in Germany we have seen a variety of new implementations of open standards-<br />
based software such as Linux. And worldwide, more than 75 IBM government customers&#8211;including<br />
agencies in France, Spain, UK, Australia, Mexico, the United States and Japan&#8211;have now embraced<br />
open computing and Linux to save costs, consolidate workloads, increase efficiency and enact e-<br />
28<br />
government transformation.� &#8211; Walter Raizner, Country General Manager IBM Germany<br />
Example: In Thailand, the Information, Communications and Technology Ministry recently<br />
launched a plan to offer up to one million low-priced PCs. To date, more than 160,000 of these<br />
computers, loaded with a Thai version of Linux, have been sold. 30,000 people showed up for<br />
the launch event of this initiative. Microsoft responded by offering a $35 version of Microsoft XP<br />
29<br />
and Office for the Thai market. OpenOffice reports that a Thai derivative of OpenOffice has<br />
sold 1 million copies.<br />
The deployment of large numbers of low-cost Linux desktop computers doesn�t always lead to an<br />
increase in the number of Linux users. As was pointed out by Gartner analyst Dion Wiggins,<br />
�Thailand is a market where pirated software is freely available. It&#8217;s to be expected that a significant<br />
number of buyers of the Linux PCs will go home and reload them with a pirated copy of Windows.&#8221;30<br />
More generally, there is a risk that poorly planned, poorly supported, government-mandated<br />
deployments of Linux will fail, causing disillusioned end-users to wipe their hard drives, install a<br />
pirated version of Windows, and tell their friends never to try Linux. This is why analysts such as<br />
Tony Stanco caution against mandated Linux deployments, arguing instead in favor of education and<br />
training efforts and efforts to �level the playing field.�<br />
Desktop Linux momentum outside of the U.S.<br />
14,000 seats Munich city government<br />
80,000 seats Schools in Extremadura, Spain<br />
1,000,000 seats People�s PCs in Thailand<br />
Desktop Linux Overview<br />
Page 29</p>
<p>8<br />
THE FUTURE<br />
8.1<br />
Assumptions<br />
-<br />
The economic environment will moderately improve over the next two years. A continued<br />
slump would further accelerate the deployment of Linux on the desktop: the longer than<br />
expected economic downturn is already driving enterprises and public agencies to look<br />
harder at their IT budgets and consider inexpensive alternatives;<br />
-<br />
There will be no major discontinuity in the ability of Linux productivity software to read or<br />
write Microsoft Office documents. If Microsoft were to totally break with its current default<br />
file formats, that could set back file format compatibility. This is quite unlikely though, given<br />
customer pressures that Microsoft is facing. Conversely, if Microsoft�s move to XML-based<br />
file formats were to make it dramatically easier to offer file compatibility, that would benefit<br />
Linux, as it would remove the biggest single obstacle to broader Linux adoption. This, too, is<br />
unlikely. Based on early reviews of Microsoft Office 2003, OpenOffice developers claim that<br />
when saving documents in XML format, Office 2003 strips XML files of all presentation and<br />
formatting information31;<br />
-<br />
Despite intense lobbying efforts and aggressive price cuts, Microsoft will not be able to stop<br />
the flood of government-led efforts around the world to promote the adoption of Linux on<br />
the desktop, since cost considerations are just one of the motivations for these efforts;<br />
-<br />
Microsoft will try to avoid repeating marketing blunders like the introduction of its new<br />
licensing scheme, but will continue to aggressively steer increasingly reluctant enterprises to<br />
upgrade their desktop software. Now that the Linux desktop has matured, companies will<br />
be much more willing to consider moving to Linux if Microsoft commits further major<br />
blunders in the way it maintains its relationships with major enterprises;<br />
-<br />
There will be no dramatic changes in desktop computing over the next few years;<br />
-<br />
The SCO lawsuit against IBM will be resolved in a way that does not jeopardize the future of<br />
Linux;<br />
-<br />
It will take several more years for WINE to be able to run the majority of third party Windows<br />
applications flawlessly. As discussed below, an acceleration of the development of WINE<br />
could remove, or at least reduce, one of the major obstacles to consumer adoption of Linux.<br />
8.2<br />
Predictions<br />
- Responding to efforts such as the People�s PC project in Thailand, Microsoft will dramatically<br />
cut prices in selected developing countries. Microsoft has incentives to aggressively cut<br />
prices in some parts of the world: offering lower-cost versions of its software not only helps<br />
beat back Linux-based desktops, it may also benefit the bottom-line, even in the long term.<br />
The incidence of software piracy in developing countries is very high, often more than 90%,<br />
so the company can increase revenues if, by dramatically lowering its prices, it can boost<br />
legitimate installations. Making its software more affordable is a way to combat piracy and<br />
maintain its dominance in the desktop market;<br />
- The Linux desktop will continue its current pace of gradual improvements and will be<br />
increasingly perceived as a reasonably mature, �good enough� alternative to Windows;<br />
- Within the next four years, Linux may achieve as much as 10% market share worldwide on<br />
the desktop and will account for an even larger percentage of new shipments;<br />
Desktop Linux Overview<br />
Page 30</p>
<p>-<br />
Linux desktop deployment will first happen outside of the United States and will be fueled to<br />
a significant extent by public sector deployments similar to recent moves in Munich,<br />
Extremadura and Thailand;<br />
-<br />
Linux desktops will be adopted in enterprise environments over the next four years, but, in<br />
the United States, almost exclusively by highly technical workers and transactional workers;<br />
-<br />
Linux adoption by a significant number of consumers and productivity workers in the US is<br />
at least four years away;<br />
-<br />
The success of Linux on the desktop will not lead to the emergence of a significant consumer<br />
ISV industry over the next few years. This is one of the factors holding back consumer<br />
adoption of Linux and there is no easy solution to this chicken and egg problem.<br />
8.3<br />
Leverage points<br />
�Much of the work that remains to be done are things that have either fallen through the cracks (they<br />
don�t fall within the domain of any of the big, successful projects) or require the larger projects to<br />
32<br />
work together. �<br />
There is no single major factor that will �make or break� desktop Linux adoption. Linux will be<br />
adopted for different reasons by different classes of users in different parts of the world. The<br />
obstacles and benefits are different for each class of users. But the principal requirements for modest<br />
Linux success on the desktops are now in place. A lot of work remains to be done, and we believe<br />
that most of these tasks will get done over the next few years. Below is a list of some leverage points<br />
for Linux desktop adoption: developments that can accelerate the adoption of Linux on the desktop,<br />
and remaining barriers to broader deployment.<br />
8.3.1<br />
A strengthened desktop foundations layer that can provide the missing common<br />
infrastructure that the major open source desktops need to rely on, along with standards<br />
and joint projects that improve interoperability between major desktop platforms<br />
There are not just two Linux desktop platforms, there are at least four: KDE, GNOME, OpenOffice<br />
and Mozilla. Each of these big, successful projects includes a vibrant community of developers, is an<br />
umbrella to a significant number of projects, and is built on a different toolkit. And, of course,<br />
OpenOffice and Mozilla are cross-platform projects whose users primarily run the Windows operating<br />
system.<br />
Following is a partial list of foundational work that needs to take places to further advance the Linux<br />
desktop33:<br />
- A hardware abstraction library that makes peripheral devices available to applications and<br />
end-users;<br />
- Improved cut-and-paste and drag and drop support across the various desktop platforms;<br />
- A universal MIME system;<br />
- A universal configuration/manageability framework;<br />
- A common end-user document filing system (~/Desktop, ~/Documents, etc.);<br />
- An improved sound and multimedia framework (including sound server);<br />
- A universal virtual file system so that the same URIs are known to all applications (currently,<br />
the list of available file systems may differ from one application to another);<br />
Desktop Linux Overview<br />
Page 31</p>
<p>-<br />
Improved accessibility;<br />
-<br />
Help indexing;<br />
-<br />
A process spanning multiple desktop projects for interaction and UI-design.<br />
Tackling these and other remaining challenges to offering a competitive, integrated Linux desktop<br />
may be best taken on by a new effort that brings together people from the different desktop-related<br />
projects.<br />
8.3.2<br />
Emergence of an open, XML-based file format that becomes widely recognized as an<br />
alternative to the Microsoft Office file formats<br />
The availability of a rich, open and XML-based file format standard for productivity applications will<br />
be a major boost for Linux desktop adoption. An effort is under way at OASIS to develop a formal<br />
standard, largely based on the OpenOffice file format. This standard is expected to be adopted by the<br />
end of the year. Development, adoption, and implementation of the standard by OpenOffice and<br />
other Linux productivity applications will offer librarians, data archivists, policy makers and other<br />
interested parties an open alternative that they can adopt as a standard for document exchange in<br />
government, educational institutions and elsewhere.<br />
8.3.3<br />
Further improvements to the Microsoft Office filters in OpenOffice and other open source<br />
productivity applications<br />
The OpenOffice filters are already quite good and continue to get better (witness the improvements<br />
made for OpenOffice 1.1). Developers at OpenOffice, KWord and other open source productivity<br />
applications are already collaborating informally to solve remaining problems. Improved,<br />
collaboratively maintained documentation by the open source community of the Microsoft Office<br />
DTDs, similar to the OpenOffice project�s documentation of the Excel file format34, could further<br />
improve this situation.<br />
8.3.4<br />
More opportunities for public sector decision-makers to learn about other open source<br />
efforts and get access to useful information<br />
The Cyberspace Policy and Research Institute�s annual Linux in Government conference and<br />
OpenForum Europe provide rare opportunities for public sector leaders to learn more about how<br />
open source can benefit government. More online resources are needed to assist public sector<br />
decision makers who are interested in Linux.<br />
8.3.5 Improved organizational infrastructure for open source projects<br />
Sourceforge has revolutionized the way open source projects are developed. What may be missing is<br />
an organizational equivalent: a set of resources to help open source projects organize themselves as<br />
non-profit organizations and function effectively. In many cases, this may be as simple as offering<br />
fiscal agency support to projects that wish to organize themselves as non-profit organizations.<br />
8.3.6 More commercial end-user applications for Linux<br />
The lack of a critical mass of commercial end-user applications is a major barrier to broader<br />
consumer adoption of Linux. This chicken and egg problem is unlikely to be resolved within the<br />
next few years.<br />
Desktop Linux Overview<br />
Page 32</p>
<p>8.3.7 The WINE project<br />
The WINE project is an important part of Linux adoption on the desktop. Thanks to the efforts of the<br />
WINE community and CodeWeavers, many Windows applications, including Microsoft Office,<br />
Internet Explorer, Windows Media Player, Quicktime and Adobe Photoshop already run unmodified<br />
under Linux. TransGaming, the other company that builds on the WINE libraries, boasts that it<br />
allows 250 of the world�s hottest games, including EverQuest, Battlefield 1942 and SimCity, to run<br />
unmodified under Linux. Additionally, the WINE libraries offer an easy way for ISVs to port<br />
applications to Linux. For instance, a few years ago MusicMatch was ported to Linux using WINE. In<br />
the not so distant future, further improvements to WINE may allow end-user Linux distributions to<br />
credibly claim that Linux runs Windows applications,<br />
8.3.8 Absence of a standard Linux<br />
The multitude of Linux distributions and hardware platforms supported by Linux makes it hard for<br />
ISVs to package applications for Linux. Especially in view of the uncertainty surrounding United<br />
Linux, Red Hat is the de facto Linux standard. It should be noted that several desktop-oriented Linux<br />
distributions (including Lindows, Lycoris and Xandros) are not based on Red Hat Linux. Efforts such<br />
as the Linux Standards Base and easy-to-use software installers such as Lindows� Click�N�Run<br />
Warehouse help to address this challenge.<br />
8.3.9 User-friendly documentation and support options<br />
Most Linux documentation, and the most popular mailing lists and support forums are hard to parse<br />
for non-technical users, making it a daunting task to solve the inevitable problems that arise.<br />
9<br />
CONCLUSION<br />
�Desktop Linux is no longer a technical challenge � it�s a marketing challenge.�<br />
Making the Linux desktop more user-friendly, elegant, and interoperable with competing desktops is<br />
a never-ending challenge. The effort has reached the point where, in many regards, Linux is �good<br />
enough� for significant classes of users. If the current pace of improvements continues, Linux will<br />
emerge as a mature and credible desktop alternative for tens of millions of users over the next few<br />
years. If the current interest by the public sector in promoting open source persists, and in the<br />
absence of other major shifts, Linux is slated to achieve a market share of as much as 10% over the<br />
next four years. The process of desktop Linux adoption can be accelerated by some of the efforts<br />
listed in this document.<br />
Desktop Linux Overview<br />
Page 33</p>
<p>FOOTNOTES<br />
1<br />
Forrester analyst Stacey Quandt, quoted at http://www.newsfactor.com/perl/story/21815.html<br />
2<br />
Both KDE and GNOME, the two leading open source desktop environments, do run on a variety of<br />
operating systems, including Linux, FreeBSD and different variants of UNIX. For that matter, it is<br />
possible to run them on top of Windows and OS X systems.<br />
3<br />
Headline and inspiration courtesy of ZDNet:<br />
http://techupdate.zdnet.com/techupdate/filters/specialreport/0,14622,6023357,00.html other<br />
4</p>
<p>http://www.gnome.org/pr-extremadura.html</p>
<p>5<br />
Simon Phipps, quoted at http://mailshare.nmu.edu/listserv/network-users/msg00176.html<br />
6</p>
<p>http://www.techtv.com/news/security/story/0,24195,3354075,00.html</p>
<p>7<br />
Observers agree that the majority of these systems are wiped clear and Linux is replaced by a pirated<br />
copy of Windows. As the Linux desktop matures and piracy declines, more and more people will<br />
stick with the Linux OS that came preinstalled on their system.<br />
8<br />
Thanks to Dan Kusnetzky for this phrase.<br />
9<br />
Since many Linux vendors offer their own software update solutions, this is not a significant<br />
drawback for KDE.<br />
Ratings scale: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ??ready for prime time; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> ??needs more work; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> ??not ready, from an average user<br />
10<br />
or IT decision-maker perspective.<br />
11<br />
Notable areas of weakness remain, including VBA macro support and the ability to read and write<br />
encrypted office files.<br />
12</p>
<p>http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,70710,00.html</p>
<p>Rating: Health of each part of the eco-system: <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ??healthy; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> ??needs nurturing; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> ??weak<br />
13<br />
14</p>
<p>http://news.com.com/2100-1045_3-1022584.html?tag=fd_top</p>
<p>15</p>
<p>http://news.com.com/2100-1016_3-1022472.html?tag=fd_top</p>
<p>16</p>
<p>http://steve-parker.org/articles/others/stephenson/mgbs.shtml</p>
<p>17<br />
Starting at $350. http://www.pcworld.com/news/article/0,aid,111442,00.asp<br />
18</p>
<p>http://schoolforge.net</p>
<p>19</p>
<p>http://www.linuxjournal.com/article.php?sid=6927&#038;mode=thread&#038;order=0</p>
<p>20<br />
http://newsforge.com/newsforge/02/12/04/2346215.shtml?tid=19 and</p>
<p>http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2860180-1,00.html</p>
<p>21</p>
<p>http://zdnet.com.com/2100-1104-981878.html</p>
<p>22</p>
<p>http://www.linuxjournal.com/article.php?sid=6952</p>
<p>23</p>
<p>http://news.com.com/2100-1016-1011255.html?tag=nl</p>
<p>24</p>
<p>http://news.com.com/2100-1042_3-1020137.html?tag=fd_top</p>
<p>25</p>
<p>http://news.com.com/2100-1016-1011255.html?tag=nl</p>
<p>26</p>
<p>http://linuxtoday.com/it_management/2003062401426NWDPPB</p>
<p>27</p>
<p>http://linuxtoday.com/infrastructure/2003052802126NWDTPB</p>
<p>28</p>
<p>http://linuxtoday.com/infrastructure/2003052802126NWDTPB</p>
<p>29</p>
<p>http://cnetasia.com/newstech/systems/0,39001153,39129420,00.htm</p>
<p>30</p>
<p>http://asia.cnet.com/newstech/systems/0,39001153,39136847,00.htm</p>
<p>31</p>
<p>http://www.internetnews.com/dev-news/article.php/2109101</p>
<p>32<br />
Havoc Pennington<br />
33<br />
List provided by Havoc Pennington<br />
34</p>
<p>http://sc.openoffice.org/excelfileformat.pdf</p>
<p>Desktop Linux Overview<br />
Page 34</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=18&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/22/desktop-linux-technology-market-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>IT Consolidation with Linux</title>
		<link>http://coroketon.wordpress.com/2008/01/22/it-consolidation-with-linux/</link>
		<comments>http://coroketon.wordpress.com/2008/01/22/it-consolidation-with-linux/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 06:01:03 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opetaring System]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/22/it-consolidation-with-linux/</guid>
		<description><![CDATA[White Paper Table of contents Overview Why Consolidate with Linux? Risks Benefits Linux Consolidation Methods HP Utility Data Center Running Linux on HP Integrity Superdome VMware . Wine and Bochs Ensim . Workload Management TCO studies Comparing Linux/Mainframe to Linux/Intel Case Studies Conclusion For More Information Recent press leads some to believe that Linux is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=17&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div align="left"></div>
<p>White Paper<br />
Table of contents<br />
Overview<br />
Why Consolidate with Linux?<br />
Risks<br />
Benefits<br />
Linux Consolidation Methods<br />
HP Utility Data Center<br />
Running Linux on HP Integrity Superdome<br />
VMware .<br />
Wine and Bochs<br />
Ensim .<br />
Workload Management<br />
TCO studies<br />
Comparing Linux/Mainframe to Linux/Intel<br />
Case Studies<br />
Conclusion<br />
For More Information</p>
<p>Recent press leads some to believe that Linux is too risky for the enterprise data center. Hogwash. Linux is more than ready to go, and waiting means only one thing: cheating your company of the savings that come from moving<br />
UNIX workloads to Linux on Intel. Ted Schadler, Linux Is More Than Ready for the Enterprise, Forrester Research Inc., June 24, 2003iii Overview<br />
If your company exhibits these symptoms, you may need a more adaptive enterprise and a flexible infrastructure. HP s vision of the adaptive infrastructure enables your Companies today are struggling with how to grow their enterprise to become more responsive to changing businesses, drive new revenue streams and compete while business conditions by creating a dynamic IT environment dealing with merg ers, acquisitions, divestitures and<br />
that fits with your evolving needs, reduces risk and<br />
economic downturn. They are seeking ways to optimize<br />
complexity and delivers real-world return on your informa-<br />
and revitalize their internal IT infrastructures, making them<br />
tion technology investments. This allows you to drive<br />
more simple with improved service levels and able to<br />
business responsiveness and focus more on your business<br />
adapt quickly to changing business conditions. They must<br />
issues.<br />
consciously balance the levels of risk and costs associated<br />
A consolidated environment that is easier to manage fits<br />
with any change and ensure the quickest possible return<br />
this bill nicely. IT consolidation has become a way to<br />
on investment. In addition, they must also deal with the IT<br />
reach your goals, cut costs, increase agility, align your IT<br />
challenge of �server sprawl� � the proliferation of<br />
with your business goals and move toward an adaptive<br />
individual, geographically distributed, single-purpose<br />
enterprise. IT consolidation is the reduction or centraliza-<br />
servers throughout the enterprise. In many distributed<br />
tion of disparate hardware and software to decrease<br />
environments, applications are deployed on multiple<br />
operating costs and improve business continuity, security<br />
systems, each of which requires an operating system,<br />
and manageability; it seeks to reduce the hidden costs of<br />
application software and support. In addition, each<br />
configuring, managing and supporting distributed<br />
application typically requires a development and test<br />
environments. Companies dealing with a patchwork of<br />
server environment, further increasing cost and<br />
hardware, software and operating systems�such as those<br />
complexity. When each hardware unit is dedicated to a<br />
that have recently undergone a merger or acquisition�<br />
specific application, with its own gigabytes of storage,<br />
are particularly good candidates for IT consolidation, as<br />
utilization levels are low. There may be servers that sit idle<br />
are organizations with geographically distributed systems<br />
until application maintenance or testing is required, as<br />
and multiple data centers. However, any company with<br />
well as terabytes of underused storage on hundreds of<br />
isolated or task-specific servers or multiple, distributed<br />
servers that other applications cannot access. As a result,<br />
storage systems should consider consolidation�s potential<br />
what�s needed is improved manageability, reduced costs,<br />
benefits.<br />
increased agility and proof that IT investments will have a<br />
favorable return.<br />
3</p>
<p>�Every OS environment has a set of accelerators and<br />
inhibitors to its deployment. When the inhibitors<br />
overwhelm the accelerators, environments eventually<br />
fade and die. In the case of Linux, the accelerators<br />
currently in importance and value outstrip the inhibitors.<br />
We have not perceived any major obstacles to Linux.�<br />
�George Weiss, Gartner Symposium/ITxpo, October 2003<br />
Why consolidate with<br />
systems current capabilities. The issue of support for Linux<br />
continues to be debated. Because Linux is maintained<br />
and enhanced by a community of loosely coupled<br />
Linux?<br />
developers, it may be difficult to receive guaranteed<br />
support. However, because the code is available to all,<br />
Linux, with its flexibility, scalability and cost savings, can<br />
anyone can provide support, and self-support becomes a<br />
help overcome the obstacles and yield lasting infrastruc-<br />
lower-cost and more viable option. There are other risks<br />
ture improvements. In building for the future, Linux is an<br />
involving the management of intellectual property<br />
architect�s dream: It is reliable, adaptable, cost-effective<br />
because you may need to establish new business<br />
and open. Standing alone or mixed with other operating<br />
processes. Some companies do provide support; HP<br />
systems, Linux architecture is a solid foundation for<br />
provides Linux support at a level as high as its critical<br />
building an adaptive enterprise.<br />
systems support.<br />
According to a recent surveyi, IDC expects worldwide<br />
Many companies are discovering that managing these<br />
server market revenue to remain relatively flat, with a<br />
risks responsibly is well worth the economic returns that<br />
slight decline of 0.3 percent in 2003 to about $49.2<br />
Linux brings. Along with the risks, open source brings a<br />
billion. The five-year CAGR from 2002 through 2007 is<br />
wealth of new opportunities to increase productivity and<br />
expected to be 2.8 percent to $56.6 billion at the end of<br />
refocus your energy to the core value you bring to your<br />
the forecast period. This represents a period of modest<br />
customers. Moreover, HP is reducing these risks by selling<br />
growth in factory revenue for the overall server market,<br />
and supporting the major distributions.<br />
although some market segments, such as the Linux,<br />
Benefits<br />
Windows� and blade server market segments, are<br />
expected to grow at faster rates. In particular, IDC<br />
There are many significant benefits to using Linux. One<br />
forecasts that Linux will grow from its 2002 market share<br />
benefit via the software licensing terms is the ability to<br />
of 4.6 percent to 16.1 percent by the end of 2007 and its<br />
access and modify the source code, which can be<br />
revenue increase from 2002�s $2,295M to $9,128M by<br />
important if you need to make changes to fit your needs.<br />
the end of 2007 � a 31.8 percent CAGR.ii<br />
The fact that Linux can be freely copied, subject to reason-<br />
able license terms, without payment of royalties is one of<br />
Risks<br />
the main business advantages of Linux. Affordability is a<br />
Linux is just twelve years old, and with its relative newness<br />
key factor; even though the initial negligible price of Linux<br />
comes some risks and the question �Is it enterprise<br />
software puts it in a class by itself, initial price isn�t the<br />
ready?� � which translates into �Does it have the broad<br />
only consideration. Ongoing operational expenses,<br />
range of tools and capabilities to manage large environ-<br />
licensing fees and support costs can make the initial costs<br />
ments available with UNIX� or Windows?� HP and other<br />
seem insignificant. The open source code makes Linux<br />
hardware and software vendors are working diligently to<br />
simple to administer, users have no licensing fees to pay<br />
increase Linux features and tools to meet other operating<br />
and support can be inexpensive via the experts or the<br />
4</p>
<p>Linux Consolidation<br />
Linux community or by fixing it on your own through the<br />
open source code. Many argue that Linux is backed by<br />
expert support and can be easily customized to meet<br />
Methods<br />
specific operating needs. In the enterprise, Linux has a<br />
proven track record when it comes to solid availability in<br />
IT consolidation takes many different forms, depending on<br />
areas such as web serving and edge services, at a much<br />
the existing infrastructure and business objectives.<br />
lower cost than other environments. Servers running Linux<br />
Because of its flexibility, you can apply Linux to any of<br />
have been known to run for months, even years, without<br />
several different types of consolidation:<br />
needing to reboot.<br />
� Collocation. Gathering widely distributed systems into<br />
Control is another notable benefit. Because Linux<br />
fewer locations is often the quickest way to realize the<br />
resembles UNIX, the transition to Linux can be an easy<br />
financial benefits of consolidation. Management and<br />
and welcome one. And while security on any system<br />
operation costs decrease while security, usage and<br />
depends on the IT staff�s attentiveness and oversight, Linux<br />
availability increase.<br />
excels as a secure operating system, due to the many<br />
additional security related software packages bundled<br />
� Hardware, application and data integration. Server inte-<br />
with it. For maximum security and performance, you can<br />
gration reduces the number of systems when more<br />
custom-tailor services and even the operating system<br />
powerful servers of the same architecture host a single<br />
kernel itself with minimal effort.<br />
application or multiple instances of a single application.<br />
Centralizing storage and reducing the number of servers<br />
With limited resources, companies are often reluctant to<br />
enables you to lower operating costs while improving<br />
allocate money for large-scale projects that don�t show<br />
performance and maximizing the availability of applica-<br />
clear and immediate ROI. Linux consolidation can provide<br />
tions and data. Switching from numerous applications<br />
additional savings that can help justify your consolidation<br />
accessing multiple databases to Linux solutions running<br />
project, and the savings on software licensing fees can<br />
on fewer servers can help you standardize systems and<br />
bolster the business case for IT consolidation.<br />
applications. Combining different workloads on one<br />
Established in June 2001, The Shared Hierarchical<br />
server can reduce your total cost of operation (TCO)<br />
Academic Research Computing Network (SHARCNET) is<br />
and combining data of different formats onto Linux can<br />
Canada�s largest high-performance computing (HPC)<br />
reduce hardware needs.<br />
research facility. SHARCNET is a consortium of five<br />
� IT utility. Self-configuring components and the dynamic<br />
Southwestern Ontario universities and two community<br />
allocation of resources can dramatically boost server<br />
colleges that provides HPC resources, at no cost, to the<br />
and storage utilization for maximum cost-effectiveness.<br />
Canadian and international research community. In<br />
January 2003, SHARCNET implemented a 64-bit two-<br />
Additionally, HP offers unique consolidation options that<br />
way Intel� Itanium� 2 processor cluster with Linux, to<br />
combine some of the above consolidation methods. HP<br />
meet the demands for cluster computing of a growing<br />
can help you build an infrastructure for an adaptive<br />
research community, which is producing increasingly<br />
enterprise by simplifying, streamlining and optimizing IT<br />
larger, more complex sets of data. Based on positive<br />
environments, making them more agile and able to adapt<br />
results, and premised on a successful proposal to the<br />
dynamically. The result is a more powerful, flexible<br />
Canada Foundation for Innovation, SHARCNET plans to<br />
platform that provides continuous and secure operations<br />
implement an Itanium-based XC solution across its<br />
and lowers the cost of managing change.<br />
computing sites.<br />
HP Utility Data Center<br />
�We wanted to maintain a 64-bit architecture because<br />
research applications, especially those with large,<br />
The HP Utility Data Center (UDC) is a highly integrated<br />
complex data sets, are better suited to this for floating-<br />
and consolidated environment that you can efficiently<br />
point operations,� said Gary Molenkamp, system<br />
manage to furnish IT services on demand. Data center<br />
administrator, SHARCNET. �The implementation of the<br />
virtualization via HP�s UDC offers a higher-level abstrac-<br />
Itanium 2-based servers provided an excellent migration<br />
tion of resources in which groups of servers, storage and<br />
path from the Alpha-based technology upon which<br />
network elements can be provisioned or reallocated on<br />
SHARCNET�s original compute infrastructure was established.<br />
the fly to meet the needs of a new IT service or handle<br />
The Alpha is now an end-of-life technology, and, since<br />
dynamically changing workloads and reduce operational<br />
many high-end UNIX servers (such as HP Superdome<br />
costs. The HP UDC is unique in offering a master software<br />
systems) are migrating to the Itanium processor, the<br />
environment, known as Utility Controller Software, which<br />
implementation of this cluster allows researchers to<br />
can manage all of the virtualized environments � server,<br />
develop and test code on this platform now, instead of<br />
storage and networking � in a coherent and integrated<br />
two years from now. For SHARCNET, the Itanium 2-based<br />
manner. The HP UDC with Utility Controller Software<br />
HP solution was one of forwarding thinking.�<br />
creates and runs virtual IT environments as a highly<br />
5</p>
<p>CalPERS: Building a model adaptive<br />
meeting capacity needs with a service approach rather<br />
than a box approach through IT consolidation with HP<br />
infrastructure<br />
Superdome technology.<br />
With assets of more than $150 billion, the California Pub-<br />
When the decision was made to host new front-end web<br />
lic Employees Retirement System (CalPERS) is the nation�s<br />
applications on the Linux Red Hat operating system,<br />
largest pension fund, providing retirement and health<br />
CalPERS�s new adaptive infrastructure made it easy to roll<br />
benefits to 1.4 million members and more than 2,500<br />
this cost-effective platform on HP ProLiant servers. With<br />
employees. Its clients are active and retired employees<br />
some fine-tuning for Linux, CalPERS could use most of the<br />
and their families from state and local government, school<br />
standards, processes and procedures already established<br />
districts, and public agencies.<br />
for the HP-UX environment. With a streamlined, more<br />
As with many distributed enterprises, CalPERS had man-<br />
manageable infrastructure and a highly professional IT<br />
aged growth by adding servers for each new major<br />
service operation, CalPERS has kept staff and costs at a<br />
application. When the data center reached the limits of<br />
minimum while improving service levels, increasing<br />
capacity and floor space with eight HP-UX T600 and<br />
uptime and supporting roughly three times the number of<br />
three K-class systems, HP recommended a new strategy�<br />
applications that it did five years ago.<br />
Running Linux on HP Integrity<br />
automated service. Simplified delivery of that service<br />
optimizes asset utilization and reduces staffing loads.<br />
Superdome<br />
Once wired, your infrastructure can be reconfigured<br />
As early as 2002, HP demonstrated its Intel Itanium 2-<br />
flexibly and dynamically with minimum effort to respond<br />
based HP Superdome server running multiple operating<br />
quickly to windows of market opportunity. Total cost of<br />
environments � HP-UX, Windows and Linux � concur-<br />
ownership is reduced dramatically through process<br />
rently within a single system in three separate partitions.<br />
automation, standardization, simplification and improved<br />
This highlights HP�s ability to deliver multi-OS functionality<br />
resource utilization. And overall QoS improvements are<br />
on the industry-standard Intel Itanium architecture to meet<br />
realized through rapid, automated resource provisioning.<br />
the diverse customer workload requirements typical of<br />
The HP UDC�s simple design allows you to wire your<br />
today�s enterprise computing environments. As businesses<br />
infrastructure just once. Any reallocation of resources can<br />
look to improve operational efficiencies and reduce costs,<br />
now be done with drag-and-drop simplicity. As a result,<br />
consolidating applications and workloads on their<br />
this new programmable data center approach lets you<br />
enterprise servers represents an effective means for<br />
manage more IT resources with less IT staff. The HP UDC<br />
increasing the return on their technology investments. By<br />
with Utility Controller Software reduces costs and<br />
allowing multiple applications and operating systems to<br />
improves IT flexibility through:<br />
run in a partitioned environment, the highly available HP<br />
Superdome server provides the benefits of better manage-<br />
� Virtualized network resources, permitting drag-and-drop<br />
ability, scalability and flexibility. A 64-way HP<br />
�rewiring� of servers and related assets to create entire<br />
Superdome system can run HP-UX 11i, Windows and<br />
virtual IT environments.<br />
Linux operating environments concurrently in three<br />
� Virtualized storage resources, for secure, effective stor-<br />
different hardware partitions. The configuration of the<br />
age partitioning.<br />
server includes:<br />
� Advanced data center management software, allowing<br />
� Four-way partition running HP-UX 11i with the Oracle�<br />
resources to be automatically reassigned in response to<br />
9.2 database and HP-UX Systems Administration<br />
changing business and IT requirements.<br />
Manger.<br />
� Twenty-way partition running an RC2 version of<br />
Microsoft� Windows .NET Server 2003 Data center<br />
Edition, 64-bit Microsoft SQL Server Enterprise Edition,<br />
and Windows System Resource Manager.<br />
� Four-way partition running Linux with Linux desktop<br />
applications.<br />
6</p>
<p>First Trust Corporation: Threefold performance improvement for rapid growth<br />
database administrator for First Trust. �They allow us to<br />
As one of the nation�s largest independent trust<br />
deploy databases faster and to scale up quickly as our<br />
companies for self-directed retirement plans, First Trust<br />
business demands it.�<br />
Corporation handles transactions equaling millions of dol-<br />
lars per day on behalf of financial intermediaries. �At First<br />
Another major advantage of moving to the HP, Red Hat,<br />
Trust, we process transactions for financial intermediaries<br />
and Intel solution is that it provides an industry-standard<br />
that have extremely high expectations for service levels,�<br />
architecture that can accommodate the multiple solutions<br />
says Jeff Knight, vice president of technology and vendor<br />
First Trust needs to deploy. A standard Itanium 2�based<br />
relations for First Trust. �High availability and the ability<br />
platform allows the company to choose from a broad<br />
to recover in seconds are absolute requirements for<br />
range of software, solutions and components. The ability<br />
remaining competitive and ensuring client satisfaction.�<br />
to run multiple operating systems on a single platform by<br />
taking advantage of the unique Intel Itanium 2<br />
First Trust�s business is expanding rapidly, especially in<br />
microarchitecture is also benefiting First Trust. The compa-<br />
the area of equities transaction processing. The company<br />
ny uses VMware virtualization software on Windows for<br />
wanted to improve the performance and scalability of its<br />
development and quality assurance for its transaction pro-<br />
trading support system to accommodate more<br />
cessing system, but its production environment is Linux. As<br />
transactions and more clients. In addition to these require-<br />
a result, First Trust is able to achieve a higher return on<br />
ments, uptime was critical to ensure 24&#215;7 customer<br />
investment by moving to a single hardware platform for<br />
support, security and failover capabilities. To remain com-<br />
both testing and quality assurance. �With the HP and<br />
petitive with other financial services organizations, one of<br />
Intel solution, we can consolidate our development and<br />
First Trust�s requirements was having a cost-effective solu-<br />
deployment processes onto one standard platform, reduc-<br />
tion to meet its immediate and long-term goals.<br />
ing costs and simplifying development and system<br />
To create a state-of-the-art equity and mutual fund trans-<br />
administration,� explains Garner.<br />
action processing system, First Trust deployed a cluster of<br />
In the financial services world, many companies are mov-<br />
four 2-way HP Integrity rx2600 servers running Oracle9i<br />
ing toward real-time computing to deliver information to<br />
Real Application Clusters (RAC) and Red Hat Enterprise<br />
customer service representatives and customers over the<br />
Linux AS. The new industry standards�based system has<br />
Web. Knight also sees mobile communications and the<br />
exceeded expectations, delivering 99.99 percent uptime<br />
ability for employees and customers to access information<br />
and a threefold performance improvement over the com-<br />
from anywhere, at any time, using wireless devices<br />
pany�s previous IBM RISC-based trading system running<br />
becoming more important. �In the near future, First Trust<br />
on AIX.<br />
will need to become even more responsive to employees<br />
Using Oracle9i RAC systems has also helped First Trust<br />
and clients, and in new, innovative and more convenient<br />
improve the uptime of the solution. �Oracle9i RAC<br />
ways,� says Knight. �HP Integrity servers will be a factor<br />
clusters on Itanium 2�based HP Integrity servers running<br />
in our future strategies.�<br />
Linux helps us be competitive,� says Bill Garner, lead<br />
VMware<br />
Ideally suited to corporate IT and service provider data<br />
centers, VMware ESX Server works by partitioning<br />
HP and VMware have teamed up to provide VMware�s<br />
physical servers into secure virtual servers. Different<br />
ESX Server software on HP servers and blades, helping<br />
operating systems and applications are isolated within<br />
companies not only to implement server consolidation, but<br />
their own virtual servers and can safely coexist on a<br />
also to streamline development and testing, to improve<br />
single HP server. Hardware resources are dynamically<br />
availability and disaster recovery and to facilitate the<br />
allocated to the virtual machine �as required by its<br />
coexistence of multiple operating systems � including<br />
workload or as specified by its administrator. The result is<br />
Linux, Windows and NetWare � on one physical server.<br />
a level of infrastructure control more typical of a<br />
With the introduction of Virtual Center� and VMotion�,<br />
mainframe, at a fraction of the cost.<br />
joint customers can now also centrally manage their<br />
virtual compute resources and dynamically move<br />
HP servers running VMware�s virtual infrastructure<br />
workloads across ESX Servers without service interrup-<br />
technology create secure, fault-resistant partitions with<br />
tions. Virtualization is defined as an approach to IT that<br />
guaranteed performance levels. Companies can reduce<br />
pools and shares resources so utilization is optimized and<br />
operational expenses and capital costs by running<br />
supply automatically meets demand.<br />
services and applications on virtual machines instead of<br />
7</p>
<p>on dedicated hardware. Integrated with HP�s ProLiant<br />
hardware devices and memory. This allows you to run<br />
Essentials software, VMware ESX Server simplifies server<br />
operating systems and software within the emulator on<br />
infrastructure by partitioning and isolating server<br />
your workstation � similar to having a machine inside of<br />
resources so they can be remotely managed and<br />
a machine.<br />
automated. Because VMware runs natively on the<br />
Ensim<br />
hardware without a host operating system for ultimate<br />
performance, ESX Server should run on compatible HP<br />
Ensim� and HP offer joint hosting management solutions<br />
hardware (as outlined in VMware�s compatibility guide on<br />
for service providers. Ensim�s award-winning solutions for<br />
www.VMware.com.)<br />
Linux and Windows offer fully automated hosting<br />
management. Ensim WEBppliance has four interfaces to<br />
Consolidation doesn�t have to mean homogenization. For<br />
delegate administration to specific user roles and a<br />
many companies, a combined Linux/Windows environ-<br />
common interface for Linux and Windows-based testing. It<br />
ment makes the most sense. With VMware software, HP<br />
is designed for a range of HP ProLiant servers. Joint<br />
ProLiant servers can run heterogeneous versions of Linux<br />
solutions components include Ensim Virtual Private Server,<br />
and Windows on a single server.<br />
Ensim server manager and HP ProLiant Servers.<br />
Partitioning also helps VMware ESX Server to bolster HP<br />
Workload Management<br />
servers� already strong data protection capabilities by<br />
allowing critical data to be secured in isolated virtual<br />
The type or makeup of the workload that you envision<br />
machines. You can use these virtual machines to mirror<br />
migrating to Linux not only will have a large impact on<br />
physical servers or act as failover servers to increase<br />
the hardware resources needed, but it will also affect the<br />
availability. VMware ESX Server also helps streamline<br />
possible economics of reduced personnel resources.<br />
and economize development and testing processes. Using<br />
Therefore, identify workloads accurately as early as<br />
virtual rather than physical machines enables developers<br />
possible. The classic environments typically slated for<br />
to execute realistic simulations and tests of sophisticated<br />
migration to Linux are:<br />
systems without acquiring new hardware.<br />
� File and print, monitoring basic network functions such<br />
The benefits of the HP/VMware solution should not come<br />
as file sharing and remote printing.<br />
at the price of restricting future growth. With VMware<br />
� E-mail, including SMTP mail and authentication.<br />
VirtualCenter and VMotion, a system can be moved easily<br />
and quickly to a larger or dedicated computer when your<br />
� Web/Internet, ranging from simply serving static web<br />
needs grow beyond the capacity of a hardware platform,<br />
pages to ostensibly delivering a customized Web site to<br />
and migrations and maintenance can occur without<br />
every user.<br />
interruption to users.<br />
� Firewall/Other I/O bound applications, including fire-<br />
Wine and Bochs<br />
walls, LDAP directories and other applications that<br />
access data across multiple systems.<br />
In addition to VMware, other applications have been<br />
designed to enable Microsoft Windows- based applica-<br />
� Business intelligence, including applications such as<br />
tions to run on the Linux operating system.<br />
data warehousing that typically are I/O bound.<br />
The Wine project does its job by forming a layer between<br />
� Other CPU bound applications, including calculation-<br />
the Microsoft Windows application and the Linux<br />
intensive applications such as CAD/CAM and statistical<br />
operating system, behaving more as an interpreter than a<br />
packages.<br />
full emulator. Think of Wine as a Windows compatibility<br />
layer that does not require Microsoft Windows. More than<br />
� Mixed workload, servers that are running more than<br />
1,000+ applications run under Wine. With Wine, you<br />
one application.<br />
can take advantage of all the UNIX strong points such as<br />
stability, flexibility and remote administration while still<br />
using the Windows applications you depend upon. Wine<br />
is open source software, so you can extend it to suit your<br />
needs.<br />
Bochs is a PC emulation package written in C++ that can<br />
run many Microsoft Windows applications. Currently,<br />
Bochs can run most operating systems inside the<br />
emulation, including Linux, Windows 95, DOS and<br />
Windows NT 4. Bochs can be compiled and used in a<br />
variety of modes. The typical use of Bochs is to provide<br />
complete x86 PC emulation, including the x86 processor,<br />
8</p>
<p>TCO studies<br />
new applications and ongoing maintenance of those<br />
custom applications. Other factors can also affect the<br />
TCO calculation, such as the kind of hardware (and how<br />
IT consolidation should be an ongoing approach to<br />
much of it) you�re using, whether you�re transitioning from<br />
making your business more cost-efficient and improving<br />
Windows or UNIX or starting from the ground up and if<br />
the alignment between business and IT. Application and<br />
your IT staff has any experience with a UNIX-like OS.<br />
data reconfiguration, security, access rights, storage<br />
Analyst firm IDC forecasts that as the entire Linux server<br />
management, performance and maintenance are only a<br />
market matures, TCO costs will come down due to wider<br />
few of the issues that must be handled correctly. Another<br />
availability of package applications for Linux servers and<br />
obstacle is that obtaining funding for a consolidation<br />
greater numbers of programmers and systems administra-<br />
project is difficult without a clearly demonstrable and<br />
tors with skill sets relating to the Linux server platform.<br />
timely ROI.<br />
A recent Gartner Group studyiv shows that enterprises that<br />
Although Linux servers, especially small ones, can be less<br />
tend to install Linux on client desktops will save $80 in<br />
expensive than many traditional UNIX/RISC servers, it�s<br />
hardware acquisition costs and an average of $74 per<br />
important to take into account the total cost of ownership<br />
user per year on office automation software. Table 1<br />
(TCO). To determine whether long-term ownership of Linux<br />
presents a TCO comparison using the typical numbers of<br />
servers is truly less expensive than entry-level UNIX or<br />
ten servers, 3,000 GB of storage, 5,000 users, and an<br />
Windows servers, you�ll need to examine all aspects of<br />
average transaction value per hour of 258,250.<br />
ownership, including custom programming, deployment of<br />
Table 1. A value calculator from<br />
TCO Comparison: Sun Solaris vs. HP Linux ProLiant<br />
Alineanv, the IT value experts, esti-<br />
mates the potential TCO savings<br />
Sun Solaris<br />
HP Linux ProLiant<br />
Savings with HP Linux<br />
and benefits of migrating from your<br />
current business computing platform<br />
Hardware<br />
$178,531<br />
$70,130<br />
$108,401<br />
to Linux on HP ProLiant servers.<br />
Software<br />
$120,000<br />
$66,000<br />
$54,000<br />
IT Operations<br />
$620,116<br />
$181,913<br />
$438,203<br />
IT Administration<br />
$49,797<br />
$29,175<br />
$20,622<br />
Facilities and Overhead<br />
$50,000<br />
$20,000<br />
$30,000<br />
Downtime<br />
$46,485<br />
$104,592<br />
$-58,107<br />
TCO Summary<br />
$1,064,929<br />
$471,810<br />
$593,119<br />
Savings with HP Linux<br />
56%<br />
TCO per System<br />
$106,493<br />
$47,181<br />
$59,312<br />
TCO per User<br />
$213<br />
$94<br />
$119<br />
9</p>
<p>To accomplish an accurate TCO analysis for a Linux<br />
mainframe. These include increasingly high cost of<br />
migration, detailed cost data must be available for<br />
ownership as skills become scarcer and legacy applica-<br />
hardware, software, IT operations, IT administration, facili-<br />
tions and hardware need to be maintained and a lack of<br />
ties and overhead and downtime (as Table 1 shows). It<br />
flexibility/new applications, which would inhibit growth<br />
may also be relevant to include storage and networking<br />
and limit server utilization. Counterintuitive as it may<br />
costs as well as support and maintenance.<br />
seem, some companies are running Linux on their<br />
mainframes. If you are considering running Linux on your<br />
It is only after you examine all of the cost categories that<br />
mainframe, be aware of these limitations:<br />
you can fully appreciate the economic impact that Linux<br />
may have. For example, Table 2 gives the estimated<br />
� To run Linux on a mainframe, you�ll need to run a Linux<br />
budgeted TCO of a mainframe versus Linux on an Intel<br />
partition, and you will still need a mainframe OS to give<br />
system is as follows:<br />
you the LPAR partitioning functionality.<br />
� Only three of the 265 available Linux versions today are<br />
Costs of Linux on an Intel System<br />
specially designed for the mainframe. To date, these<br />
include special mainframe versions of SuSE, TurboLinux,<br />
Cost Category<br />
Linux/Intel<br />
New Mainframe<br />
and Red Hat (32-bit only).<br />
Hardware<br />
$497,822<br />
$5,700,041<br />
� If you currently have fewer than 20 Linux/Intel (Lintel)<br />
Storage<br />
$124,807<br />
$156,009<br />
servers, consolidating onto the mainframe will not pro-<br />
Software<br />
$776,700<br />
$1,163,600<br />
vide a cost advantage.<br />
Services<br />
$188,496<br />
$227,290<br />
� All but one vendor (IBM) has exited the mainframe mar-<br />
ket.<br />
Network<br />
$449,987<br />
$839,987<br />
� Linux on a mainframe supports only a few hundred ISV<br />
Facilities<br />
$209,752<br />
$225,185<br />
applications, compared to the thousands that run on Lin-<br />
Personnel<br />
$1,759,498<br />
$1,199,658<br />
tel. This does not provide the same investment protection<br />
as Linux on Intel Itanium 2 Superdome.<br />
Downtime<br />
$1,234,800<br />
$749,146<br />
� The mainframe does not work well with UNIX and other<br />
Support and Maintenance<br />
$577,379<br />
$777,113<br />
server lines.<br />
Total Cost of Ownership<br />
$5,819,242<br />
$11,038,028<br />
� The initial entry costs and ongoing maintenance are<br />
For example, to make a traditional purchase decision<br />
expensive.<br />
Table 2. This presents your budget-<br />
ed cost of ownership over the life of<br />
based on an acquisition price (hardware and software),<br />
your analysis length, showing raw<br />
� There are hidden software, maintenance and hardware<br />
Table 2 indicates that a Linux/Intel based solution would<br />
cost data before adjusting for tax<br />
component costs.<br />
be the winner. Yet those costs rarely amount to as much<br />
and present value effects. It summa-<br />
rizes the amount you will need to<br />
as 40 percent of the TCO. As a result, acquisition costs<br />
� The technology � and certified mainframe technicians<br />
budget to your Linux migration over<br />
can be deceiving at best and, at worst, can lead to<br />
� are aging.<br />
the time span you have chosen.vi<br />
dismal platform decisions.<br />
� Only about 250 Linux applications are supported on the<br />
However, note that many factors � which may not be<br />
mainframe vs. thousands on Intel.<br />
easily foreseen or controlled � can affect TCO calcula-<br />
tions and realizations. A recent Gartner symposium<br />
Case Studies<br />
indicates that most of the financial benefits of Linux are<br />
HP�s proven commitment to both Linux and IT consol-<br />
clearly cost acquisition-driven and could be affected to<br />
idation is evident not only in its record of success<br />
some degree by your IT organization in ongoing<br />
working with partners, but also in its own IT<br />
operational efficiencies, which may be directly or tangen-<br />
infrastructure: HP reduced its own data centers from<br />
tially a result of Linux. For example, poor provisioning,<br />
153 to just 7, lowering costs by 40 percent. No ven-<br />
management and server utilization could counter the<br />
reduced license, maintenance and capital costs of the<br />
dor has more experience helping companies do<br />
hardware.vii<br />
more with less, and HP continues to consolidate and<br />
optimize its infrastructure as a matter of course.<br />
Comparing Linux/Mainframe to<br />
Linux/Intel<br />
While other companies might specialize in one or two<br />
areas of consolidation, HP�s consolidation experts can<br />
While the mainframe does provide certain advantages<br />
handle your entire consolidation project or execute any<br />
and strengths, there are many reasons to migrate off of a<br />
10</p>
<p>gies. Itanium 2 can, on Linux and HP-UX, provide more<br />
part of it, including assessment, design, planning, testing,<br />
freedom of choice and more flexibility with IA vs. RISC.<br />
piloting and installment. That might be one reason HP<br />
was ranked number one in a 2002 IDC customer server<br />
Lower Saxony Police: Access anywhere<br />
and storage consolidation study.<br />
Lower Saxony police needed to be able to deal with<br />
Key partnerships with software leaders such as Oracle,<br />
crime and emergencies around the clock in Germany�s<br />
SAP and Brocade help HP provide end-to-end consolida-<br />
second largest state. Its applications are mission critical<br />
tion solutions. Only HP supplies a complete storage<br />
and data intensive; they include operative, administrative<br />
solution for Linux environments, including consulting and<br />
and statistical and management information tasks. In the<br />
support services, SAN infrastructure, disk arrays, manage-<br />
past, individual police forces in the area had separate,<br />
ment solutions with integration into enterprise<br />
incompatible IT systems at 600 police stations that were<br />
management tools and value-added programs such as<br />
not connected, creating cost overheads, operational ineffi-<br />
Instant Capacity on Demand. HP makes Linux consolida-<br />
ciencies and delays in the fight against crime.<br />
tion easy with a comprehensive program of consulting<br />
The solution was IT consolidation with Linux, with a<br />
services, including data migration, backup integration<br />
balanced, distributed architecture with unified information<br />
and SAN integration.<br />
system for criminal records, investigative data and<br />
HP�s comprehensive Porting and Migration Services<br />
administrative needs, with Intel Itanium 2-based HP<br />
maximize the benefits of IT consolidation, enabling a<br />
ProLiant Servers (20 at the headquarters and 100 at<br />
smooth transition from legacy environments to HP servers.<br />
stations). The solution includes BEA WebLogic Server 8.1<br />
HP can protect investments in legacy systems by migrating<br />
and WebLogic JRockit, a central database repository<br />
applications, data or both to the HP Linux platform.<br />
based on Oracle9i*, Red Hat Linux and HP-UX operating<br />
During an initial feasibility phase of a consolidation<br />
systems, and Intel Pentium� 4 processor-based PCs for<br />
project, HP consultants help companies evaluate the best<br />
information access. �In the area of central servers, the<br />
options for their needs.<br />
Intel Itanium 2-based HP servers reduce the complexity in<br />
our customers� IT environments. With HP Itanium 2-based<br />
Platform implementation and optimization services�<br />
servers, we can run on a single hardware architecture,<br />
rehosting, refronting and rebuilding�help ensure a<br />
even though more than one OS is required,� said Roland<br />
smooth, low-risk, cost-optimized transition, while<br />
von Bethusy-Huc, senior manager, Mummert Consulting.<br />
operational management assistance and remote<br />
monitoring address resourcing and project management<br />
�We�re using HP servers based on the Intel Itanium 2<br />
concerns. Educational consulting, mentoring and skills<br />
processor in our central environment. That allows us to<br />
management support IT and development staff throughout<br />
administer and operate different operating systems on<br />
the transition.<br />
similar hardware architecture at a low cost,� said Axel<br />
K�hler, project manager, Lower Saxony Police.<br />
All these services help lower TCO by reducing staffing<br />
and training requirements for hardware and software,<br />
The results are rapid access to criminal proceedings,<br />
accelerating the introduction of new features and services<br />
investigations and administration info throughout the state,<br />
and enabling the implementation of data center best<br />
exceptional performance and rapid response times for the<br />
-practices.<br />
11,600 distributed users, lower cost of ownership and<br />
capital expenses by running HP-UX and Linux on a<br />
The BMW Group: Two to three times performance<br />
common platform and outstanding reliability for mission-<br />
BMW is an internationally renowned manufacturer of<br />
critical computing.<br />
prestigious cars, recognized around the world. The BMW<br />
Group uses its motto �Driving ahead� both as an aspira-<br />
Conclusion<br />
tion and a motivation. The company�s will to be ahead is<br />
the result of a passion for mobility and a continued drive<br />
for improvement. From this aspiration flows the energy<br />
IT consolidation solves many of the problems prevalent in<br />
that makes the company successful.<br />
today�s data center, and Linux offers an attractive<br />
package of flexibility, scalability and reliability. As you<br />
The BMW Group in Europe needed to simulate large car<br />
build for the future, make sure you have the right master<br />
models on NASTRAN and had a high demand for large<br />
plan. Then lay a strong foundation with the three Linux<br />
I/O bandwidth and performance in a CAE supercom-<br />
pillars: HP hardware platforms, HP enterprise software<br />
puter data center. Its solution was 12 x 4 way HP Itanium<br />
and HP services. In addition, be sure to partner with the<br />
2-based servers and Nastran (MSC), Pamcrash (ESI) and<br />
right builder � one who can help you achieve maximum<br />
Linux.<br />
return on IT investment.<br />
BMW reported results of two to three times more perform-<br />
IT consolidation and Linux are both means to the same<br />
ance than the fastest RISC systems. It showed the best I/O<br />
end: doing more with less�which makes Linux a good<br />
bandwidth with HP servers of all tested server technolo-<br />
choice for consolidation efforts.<br />
11</p>
<p>Endnotes<br />
iv Gartner Group, Linux on the Desktop: The Whole Story</p>
<p>http://www.gartner.com/DisplayDocument?id=40645</p>
<p>9, August 8, 2003.<br />
i Mark Melenovsky, Stephen L. Josselyn, Matthew East-<br />
v Hewlett-Packard Company and Alinean, Value calcula-<br />
wood, Thomas Meyer, Ricardo Villate, Masahiro<br />
tor: The Value of Linux on HP<br />
Nakamura, Avneesh Saxena, Rajnish Arora, Roman</p>
<p>http://h10018.www1.hp.com/wwsolutions/linux/dow</p>
<p>Mace.ka, Alan Freedman, Greg Ambrose, Jean S. Boz-<br />
nload/tco/HPLinuxTCOCalculator.html, Copyright<br />
man, IDC MARKET ANALYSIS Worldwide and U. S.<br />
2002-2003.<br />
Server Forecast Update, 2002-2007, October 2003,<br />
page 9.<br />
vi CIOview Corp, The Financial Impact of Migrating to<br />
Linux, www.cioview.com, Copyright 2002. Page 3.<br />
ii Mark Melenovsky et al., IDC MARKET ANALYSIS<br />
Worldwide and U.S. Server Forecast Update, 2002-<br />
vii George Weiss, The March of Linux in the Enterprise:<br />
2007, October 2003, page 35.<br />
How Far, How Fast, 41A, SYM13, AE, Gartner Sympo-<br />
sium/ITxpo 2003, Lake Buena Vista, Florida, 20-24<br />
iii Ted Schadler with Charles Rutstein, Forrester Research<br />
October 2003, Walt Disney World.<br />
Inc. WholeView TechStrategy Research: Linux is More<br />
Than Ready for the Enterprise, June 24, 2003, page 1.<br />
To learn more about HP�s offering, visit www.hp.com/linux.<br />
� 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP<br />
products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as<br />
constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.<br />
Intel and Itanium are trademarks or registered trademarks of Intel Corporation in the U.s. and other countries and are used under license. Linux� is a<br />
registered trademark of Linux Torvalds.<br />
5982-3629EN, 02/2004</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=17&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/22/it-consolidation-with-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>Learn Bash Programming</title>
		<link>http://coroketon.wordpress.com/2008/01/20/learn-bash-programming/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/learn-bash-programming/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 07:32:08 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/learn-bash-programming/</guid>
		<description><![CDATA[A shell script is little more than a list of commands that are run in sequence. Conventionally, a shellscript should start with a line such as the following: #!/bin/bash THis indicates that the script should be run in the bash shell regardless of which interactive shell the user has chosen. This is very important, since [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=16&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A shell script is little more than a list of commands that are run in sequence. Conventionally, a shellscript should start with a line such as the following:</p>
<blockquote><p><code>#!/bin/bash</code></p></blockquote>
<p>THis indicates that the script should be run in the bash shell regardless of which interactive shell the user has chosen. This is very important, since the syntax of different shells can vary greatly.</p>
<h4>A simple example</h4>
<p>Here&#8217;s a very simple example of a shell script. It just runs a few simple commands</p>
<pre>#!/bin/bash
echo "hello, $USER. I wish to list some files of yours"
echo "listing files in the current directory, $PWD"
ls  # list files</pre>
<p>Firstly, notice the comment on line 4. In a bash script, anything following a pound sign # (besides the shell name on the first line) is treated as a  comment. ie the shell ignores it. It is there for the benifit of people  reading the script.</p>
<p>$USER and $PWD are <i>variables</i>. These are standard variables defined  by the bash shell itself, they needn&#8217;t be defined in the script. Note that the variables are <i>expanded</i> when the variable name is inside double quotes. Expanded is a very appropriate word: the shell basically sees  the string $USER and replaces it with the variable&#8217;s value then executes the  command.</p>
<p>We continue the discussion on variables below &#8230;</p>
<h3>Variables</h3>
<p>Any programming language needs variables. You define a variable as follows:</p>
<blockquote><p><code>X="hello"</code></p></blockquote>
<p>and refer to it as follows:</p>
<blockquote><p><code>$X</code></p></blockquote>
<p>More specifically, $X is used to denote the value of the variable X. Some things to take note of regarding semantics:</p>
<ul>
<li>bash gets unhappy if you leave a space on either side of the = sign. For example, the following gives an error message:<br />
<blockquote><p><code>X = hello</code></p></blockquote>
</li>
<li>while I have quotes in my example, they are not always necessary. where you need quotes is when your variable names include spaces. For example,<br />
<blockquote><p><code> X=hello world # error<br />
X="hello world" # OK </code></p></blockquote>
</li>
</ul>
<p>This is because the shell essentially sees the command line as a pile of commands and command arguments seperated by spaces. <code>foo=bar</code>is considered a command.  The problem with <code> foo = bar</code> is the shell sees the word <code>foo</code> seperated by spaces and interprets it as a command. Likewise, the problem with the command <code>X=hello world</code> is that the shell interprets <code>X=hello</code> as a command, and the word &#8220;world&#8221; does not make any sense (since the assignment command doesn&#8217;t take arguments).</p>
<h4>Single Quotes versus double quotes</h4>
<p>Basically, variable names are exapnded within double quotes, but not single quotes. If you do not need to refer to variables, single quotes are good to use as the results are more predictable.</p>
<p>An example</p>
<pre>#!/bin/bash

echo -n '$USER=' # -n option stops echo from breaking the line
echo "$USER"

echo "$USER=$USER"  # this does the same thing as the first two lines

The output looks like this  (assuming your username is elflord) 

$USER=elflord
$USER=elflord</pre>
<p>so the double quotes still have a work around. Double quotes are more flexible, but less predictable. Given the choice between single quotes and double quotes, use single quotes.</p>
<h4>Using Quotes to enclose your variables</h4>
<p>Sometimes, it is a good idea to protect variable names in double quotes. This is usually the most important if your variables value either  (a) contains spaces or (b) is the empty string. An example is as follows:</p>
<p>#!/bin/bash<br />
X=&#8221;"<br />
if [ -n $X ]; then 	# -n tests to see if the argument is non empty<br />
echo &#8220;the variable X is not the empty string&#8221;<br />
fi</p>
<p>This script will give the following output:</p>
<blockquote><p><code>the variable X is not the empty string</code></p></blockquote>
<p>Why ? because the shell expands $X to the empty string. The expression [ -n ] returns true (since it is not provided with an argument). A better script would have been:</p>
<p>#!/bin/bash<br />
X=&#8221;"<br />
if [ -n "$X" ]; then 	# -n tests to see if the argument is non empty<br />
echo &#8220;the variable X is not the empty string&#8221;<br />
fi</p>
<p>In this example, the expression expands to [ -n "" ] which returns false, since the string enclosed in inverted commas is clearly empty.</p>
<h4>Variable Expansion in action</h4>
<p>Just to convince you that the shell really does &#8220;expand&#8221; variables in the sense I mentioned before, here is an example:</p>
<p>#!/bin/bash<br />
LS=&#8221;ls&#8221;<br />
LS_FLAGS=&#8221;-al&#8221;<br />
$LS $LS_FLAGS $HOME<br />
This looks a little enigmatic. What happens with the last line is that it actually executes the command</p>
<blockquote><p><code>ls -al /home/elflord</code></p></blockquote>
<p>(assuming that /home/elflord is your home directory).  That is, the shell simply replaces the variables with their values, and then executes the command.</p>
<h4>Using Braces to Protect Your Variables</h4>
<p>OK. Here&#8217;s a potential problem situation. Suppose you want to  echo the value of the variable X, followed immediately by the letters &#8220;abc&#8221;. Question: how do you do this ?  Let&#8217;s have a try :</p>
<p>#!/bin/bash<br />
X=ABC<br />
echo &#8220;$Xabc&#8221;</p>
<p>THis gives no output. What went wrong ?  The answer is that the shell thought that we were asking for the variable Xabc, which is uninitialised. The way to deal with this is to put braces around X to seperate it from  the other characters. The following gives the desired result:</p>
<p>#!/bin/bash<br />
X=ABC<br />
echo &#8220;${X}abc&#8221;</p>
<h3>Conditionals, if/then/elif</h3>
<p>Sometimes, it&#8217;s necessary to check for certain conditions.  Does a string have 0 length ? does the file &#8220;foo&#8221; exist, and is it a symbolic link , or a real file ? Firstly, we use the if command to run a test. The syntax is as follows:</p>
<blockquote><p><code></code></p>
<pre>if <i>condition</i>
then
	<i>statement1</i>
	<i>statement2</i>
	..........
fi</pre>
</blockquote>
<p>Sometimes, you may wish to specify an alternate action when the condition fails. Here&#8217;s how it&#8217;s done.</p>
<blockquote><p><code></code></p>
<pre>if <i>condition</i>
then
	<i>statement1</i>
	<i>statement2</i>
	..........
else
	<i>statement3</i>
fi</pre>
</blockquote>
<p>alternatively, it is possible to test for another condition  if the first &#8220;if&#8221; fails. Note that any number of elifs can be added.</p>
<blockquote><p> <code></code></p>
<pre>if <i>condition1</i>
then
	<i>statement1</i>
	<i>statement2</i>
	..........
elif <i>condition2</i>
then
	<i>statement3</i>
	<i>statement4</i>
	........
elif <i>condition3</i>
then
	<i>statement5</i>
	<i>statement6</i>
	........    

fi</pre>
</blockquote>
<p>The statements inside the block between <code>if/elif </code> and the next <code>elif </code> or <code>fi</code> are executed if the corresponding condition  is true. Actually, any command can go in place of the conditions, and the block will be executed if and only if the command returns an exit status of 0 (in other words, if the command exits &#8220;succesfully&#8221; ). However, in the course of this document, we will be only interested in  using &#8220;test&#8221; or &#8220;[ ]&#8221; to evaluate conditions.</p>
<h4>The Test Command and Operators</h4>
<p>The command used in conditionals nearly all the time is the test command. Test returns true or false (more accurately, exits with 0 or non zero status) depending respectively on whether the test is passed or failed. It works like this:</p>
<blockquote><p><code>test <i>operand1 operator operand2</i></code></p></blockquote>
<p>for some tests, there need be only one operand (operand2) The test command is typically abbreviated in this form:</p>
<blockquote><p><code>[ <i>operand1 operator operand2 </i>]</code></p></blockquote>
<p>To bring this discussion back down to earth, we give a few examples:</p>
<pre>#!/bin/bash
X=3
Y=4
empty_string=""
if [ $X -lt $Y ]	# is $X less than $Y ?
then
	echo "$X=${X}, which is greater than $Y=${Y}"
fi

if [ -n "$empty_string" ]; then
	echo "empty string is non_empty"
fi

if [ -e "${HOME}/.fvwmrc" ]; then # test to see if ~/.fvwmrc exists
	echo "you have a .fvwmrc file"
	if [ -L "${HOME}/.fvwmrc" ]; then # is it a symlink ?
		echo "it's a symbolic link
	elif [ -f "${HOME}/.fvwmrc" ]; then # is it a regular file ?
		echo "it's a regular file"
	fi
else
	echo "you have no .fvwmrc file"
fi</pre>
<h4>Some pitfalls to be wary of</h4>
<p>The test command needs to be in the form &#8220;operand1operatoroperand2&#8243; or  operatoroperand2 , in other words you really <i>need</i> these spaces, since the shell considers the first block containing no spaces to be either an operator (if it begins with a &#8216;-&#8217;) or an operand (if it doesn&#8217;t). So for example; this  </p>
<pre>if [ 1=2 ]; then
	echo "hello"
fi</pre>
<p>gives exactly the &#8220;wrong&#8221; output (ie it echos &#8220;hello&#8221;, since it sees an operand but no operator.) Another potential trap comes from not protecting variables in quotes.  We have already given an example as to why you <i>must</i> wrap anything you wish to use for a <code>-n </code> test with quotes.  However, there are a lot of good reasons for using quotes all the time, or almost all of the time. Failing to do this when you have variables expanded inside tests can result in <i>very</i> wierd bugs. Here&#8217;s an example: For example,</p>
<pre>#!/bin/bash
X="-n"
Y=""
if [ $X = $Y ] ; then
	echo "X=Y"
fi</pre>
<p>This will give misleading output since the shell expands our expression to</p>
<blockquote><p><code>[ -n = ]</code></p></blockquote>
<p>and the string &#8220;=&#8221; has non zero length.</p>
<h4>A brief summary of test operators</h4>
<p>Here&#8217;s a quick list of test operators. It&#8217;s by no means comprehensive, but its likely to be all you&#8217;ll need to remember (if you need anything else, you can always check the bash manpage &#8230; )</p>
<table border="1" cellpadding="2" width="550">
<tr>
<td>operator</td>
<td>produces true if&#8230;</td>
<td>number of operands</td>
</tr>
<tr>
<td>-n</td>
<td>operand non zero length</td>
<td>1</td>
</tr>
<tr>
<td>-z</td>
<td>operand has zero length</td>
<td>1</td>
</tr>
<tr>
<td>-d</td>
<td>there exists a directory whose name is <i>operand</i></td>
<td>1</td>
</tr>
<tr>
<td>-f</td>
<td>there exists a file whose name is <i>operand</i></td>
<td>1</td>
</tr>
<tr>
<td>-eq</td>
<td>the operands are integers and they are equal</td>
<td>2</td>
</tr>
<tr>
<td>-neq</td>
<td>the opposite of -eq</td>
<td>2</td>
</tr>
<tr>
<td>=</td>
<td>the operands are equal (as strings)</td>
<td>2</td>
</tr>
<tr>
<td>!=</td>
<td>opposite of =</td>
<td>2</td>
</tr>
<tr>
<td>-lt</td>
<td><i>operand1</i> is strictly less than <i>operand2</i> (both operands should be integers)</td>
<td>2</td>
</tr>
<tr>
<td>-gt</td>
<td><i>operand1</i> is strictly greater than <i>operand2</i> (both operands should be integers)</td>
<td>2</td>
</tr>
<tr>
<td>-ge</td>
<td><i>operand1</i> is greater than or equal to <i>operand2</i> (both operands should be integers)</td>
<td>2</td>
</tr>
<tr>
<td>-le</td>
<td><i>operand1</i> is less than or equal to <i>operand2</i> (both operands should be integers)</td>
<td>2</td>
</tr>
</table>
<h3>Loops</h3>
<p>Loops are constructions that enable one to reiterate a procedure or perform the same procedure on several different items. There are the following kinds of loops available in bash</p>
<ul>
<li>for loops</li>
<li>while loops</li>
</ul>
<h4>For loops</h4>
<p>The syntax for the for loops is best demonstrated by example.</p>
<pre>#!/bin/bash
for X in red green blue
do
	echo $X
done</pre>
<p>THe for loop iterates the loop over the space seperated items. Note that if some of the items have embedded spaces, you need to protect them with quotes. Here&#8217;s an example:</p>
<pre>#!/bin/bash
colour1="red"
colour2="light blue"
colour3="dark green"
for X in "$colour1" $colour2" $colour3"
do
	echo $X
done</pre>
<p>Can you guess what would happen if we left out the quotes in  the for statement ? This indicates that variable names should be protected with quotes unless you are pretty sure that they do not contain any spaces.</p>
<h4>Globbing in for loops</h4>
<p>The shell expands a string containing a *  to all filenames that &#8220;match&#8221;. A filename matches  if and only if it is identical to the match string after replacing the stars * with arbitrary strings. For example, the character &#8220;*&#8221; by itself expands to a space seperated list of all files in the working directory (excluding those that start with a dot &#8220;.&#8221; )  So</p>
<blockquote><p><code>echo *</code></p></blockquote>
<p>lists all the files and directories in the current directory.</p>
<blockquote><p><code>echo *.jpg</code></p></blockquote>
<p>lists all the jpeg files.</p>
<blockquote><p><code>echo ${HOME}/public_html/*.jpg</code></p></blockquote>
<p>lists all jpeg files in your public_html directory. As it happens, this turns out to be very useful for performing operations on the files in a directory, especially used in  conjunction with a for loop. For example:</p>
<pre>#!/bin/bash
for X in *.html
do
    grep -L 'gif' "$X"
done</pre>
<h4>While Loops</h4>
<p>While loops iterate &#8220;while&#8221; a given condition is true.  An example of this:</p>
<pre>#!/bin/bash
X=0
while [ $X -le 20 ]
do
	echo $X
	X=$((X+1))
done</pre>
<p>This raises a natural question:  why doesn&#8217;t bash allow the C like for loops</p>
<blockquote><p>for (X=1,X&lt;10; X++)</p></blockquote>
<p>As it happens, this is discouraged for a reason: bash is an interpreted language, and a rather slow one for that matter. For this reason, heavy iteration is discouraged.</p>
<h3>Command Substitution</h3>
<p>Command Substitution is a very handy feature of the bash shell.  It enables you to take the output of a command and treat it as though it was written on the command line. For example, if you want to set the variable X to the output of a command, the way you do this is via command substitution.</p>
<p>There are two means of command substitution: brace expansion and backtick expansion.</p>
<p>Brace expansion workls as follows: <code>$(<i>commands</i>)</code> expands to the output of <i>commands</i> This permits nesting, so <i>commands</i> can include brace expansions</p>
<p>Backtick expansion expands <code>`<i>commands</i>`</code> to the output of <i>commands</i></p>
<p>An example is given;:</p>
<pre>#!/bin/bash
files="$(ls )"
web_files=`ls public_html`
echo $files
echo $web_files
X=`expr 3 * 2 + 4`  # expr evaluate arithmatic expressions.
                     #man expr for details.
echo $X</pre>
<p>Note that even though the output of ls contains newlines, the variables do not. Bash variables can not contain newline characters (which is a pain in the butt. But that&#8217;s life) Anyway, the advantage of the $() substitution method is almost self evident: it is very easy to nest. It is supported by most of  the bourne shell varients (the POSIX shell or better is OK). However, the backtick substitution is slightly more readable,  and is supported by even the most basic shells (any #!/bin/sh version  is just fine)</p>
<p><font></p>
<table width="868">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<p></font>          <font><br />
</font></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=16&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/learn-bash-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>Quicky Setup &#8211; Linux and Windows XP/2000 dual bootLinux Pengiun  	

Installing Dual boot Windows XP/2000 and Linux?
&amp; Chain-loading Windows XP/2000 and Linux using Grub</title>
		<link>http://coroketon.wordpress.com/2008/01/20/quicky-setup-linux-and-windows-xp2000-dual-bootlinux-pengiun-installing-dual-boot-windows-xp2000-and-linux-chain-loading-windows-xp2000-and-linux-using-grub/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/quicky-setup-linux-and-windows-xp2000-dual-bootlinux-pengiun-installing-dual-boot-windows-xp2000-and-linux-chain-loading-windows-xp2000-and-linux-using-grub/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 07:27:26 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opetaring System]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/quicky-setup-linux-and-windows-xp2000-dual-bootlinux-pengiun-installing-dual-boot-windows-xp2000-and-linux-chain-loading-windows-xp2000-and-linux-using-grub/</guid>
		<description><![CDATA[Use fdisk to partition your drive properly. Download an burn 3 Mandrake 8.2 CDs or your favorite distro Install Windows XP/2000 on the first partition, make sure you use fat 32 as your file system, not xp ntfs Start your Linux Installation and install the /root directory into the second partition. Install GRUB into the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=15&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<ol>
<li>Use fdisk to partition your drive properly.</li>
<li>Download an burn 3 Mandrake 8.2 CDs or your favorite distro</li>
<li>Install Windows XP/2000 on the first partition, <b>make sure you              use fat 32</b> as your file system, not xp ntfs</li>
<li>Start your Linux Installation and install the /root directory into              the second partition.<br />
Install <b>GRUB </b>into the first sector of your boot partition (usually              /boot) and not in the MBR. (Note there are reported problems with              lilo)</li>
<li>Make a boot disk during the Linux installation if possible so that              you can boot into it.</li>
<li>Now boot into Linux and copy the boot image from the boot sector.              To do this run:<br />
<font color="#009900"><b>dd if=/dev/hdan of=/bootsect.lnx bs=512 count=1</b></font><br />
, where /dev/hdan is the location of /boot and /bootsect.lnx is the              Linux boot image.</li>
<li>Copy this bootsect.lnx file to a safe location where you can reach              it using Windows.</li>
<li>Reboot into Windows XP/2000 and copy this bootsect.lnx file into              the root directory (C:\).</li>
<li>Edit c:\boot.ini and append the following line: c:\bootsect.lnx=&#8221;Linux&#8221;.</li>
<li>Reboot your system and boot directly from the hard disk.</li>
<li>The Windows XP/2000 boot loader should now give you the option of              booting into either Windows XP/2000 or Linux.</li>
<li>Try booting into both of them to see if you were successful.
<p>See <a href="http://www.linuxdoc.org/HOWTO/mini/Linux%2BNT-Loader.html">linux              docs</a> for more info</p>
<p><b><font color="#0000ff">Troubleshooting</font></b></p>
<p><b>What to do if if the actual boot code is *not* installed in /boot,              but in the MBR</b>?<br />
When the system gets ready to make the boot sector, it creates a file              in /boot<br />
called boot.xxxx where xxxx is some number. (In his case, it was 0300              again IIRC.) This file is 512 bytes long to match the boot sector              size. Copy this file into the bootsect.lnx<br />
and boot into Linux.</p>
<p><b>Your Master Boot Record (MBR) is toast</b><br />
type: lilo -u /dev/hda in linux to remove lilo<br />
Boot to MS-DOS and type fdisk /mbr</p>
<p><b><font color="#0000ff">How to use Grub to Chainload XP Professional              or Windows 2000</font></b></li>
</ol>
<p>The trick is to preformat the drives . By preallocating all four primary            partition slots, you ensure windows xp installs on a primary partition            instead of a logical drive.</p>
<p>To do this you must first either use fdisk (dos boot disk) to format            the drives or linux.</p>
<ol>
<li>One way of doing this is to first install linux. Boot Red Hat 7.2/Mandrake              8.2 install CD, use its partition management to wipe all existing              partitions and set up the partition set,including a primary partition              for WinXP (which you mark as type fat32 or EXT2).</li>
<li>Boot Windows XP install CD. It will refuse to reformat the partition              made in step 1, so it instead deletes and recreates that partition              as an Win32 partition. Then finish the install normally.</li>
<li>Again boot Mandrake/RH install CD; and tell it to install GRUB in              the boot partition, not on the MBR; complete the install.</li>
<li>This leaves you with a working system that will autoboot into Windows,<br />
since Windows had set the partition table to mark its own partition              as<br />
active (bootable). Then use sfdisk to mark the boot partition as active<br />
(sfdisk -A1 /dev/hda) and you have a working dual-boot system.</li>
<li>There is no evidence that the Windows installer mucks with the other<br />
partitions. It does, however, mark its install partition as active,<br />
so make sure you make a Linux boot floppy so you can get back into              Linux<br />
to run sfdisk.</li>
</ol>
<p>Again: GRUB can chain to WinXP&#8217;s boot code when WinXP is in a primary            partition, but not when it&#8217;s in a logical partition. And you must make            sure to reinstall grub after windows XP.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=15&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/quicky-setup-linux-and-windows-xp2000-dual-bootlinux-pengiun-installing-dual-boot-windows-xp2000-and-linux-chain-loading-windows-xp2000-and-linux-using-grub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux Cheat Sheet</title>
		<link>http://coroketon.wordpress.com/2008/01/20/linux-cheat-sheet/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/linux-cheat-sheet/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 07:26:03 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/linux-cheat-sheet/</guid>
		<description><![CDATA[get linux to cheat too<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=14&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>get linux to cheat too <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=14&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/linux-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>IPv6 or IPng (IP Next generation):</title>
		<link>http://coroketon.wordpress.com/2008/01/20/ipv6-or-ipng-ip-next-generation/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/ipv6-or-ipng-ip-next-generation/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 07:18:09 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opetaring System]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/ipv6-or-ipng-ip-next-generation/</guid>
		<description><![CDATA[IPv6 is short for &#8220;Internet Protocol Version 6&#8243;. IPv6 is the &#8220;next generation&#8221; protocol designed by the IETF (The Internet Engineering Task Force) to replace the current version Internet Protocol, IP Version 4 (&#8220;IPv4&#8243;). The IP v 6 specifications are in rfc2460.Most of today&#8217;s internet uses IPv4, which is now nearly twenty years old. IPv4 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=12&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>IPv6 is short for &#8220;Internet                                              Protocol Version 6&#8243;. IPv6 is                                              the &#8220;next generation&#8221; protocol                                              designed by the <a href="http://www.ietf.org/" target="_blank">IETF</a>                                              (The Internet Engineering Task Force)                                              to replace the current version Internet                                              Protocol, IP Version 4 (&#8220;IPv4&#8243;).                                              The IP v 6 specifications are in <a href="http://www.faqs.org/rfcs/rfc2460.html" target="_blank">rfc2460</a>.Most of today&#8217;s internet uses IPv4,                                              which is now nearly twenty years old.                                              IPv4 has been remarkably resilient                                              in spite of its age, but it is beginning                                              to have problems. Most importantly,                                              there is a growing shortage of IPv4                                              addresses, which are needed by all                                              new machines added to the Internet.</p>
<p>IPv6 fixes a number of problems in                                              IPv4, such as the limited number of                                              available IPv4 addresses. It also                                              adds many improvements to IPv4 in                                              areas such as routing and network                                              autoconfiguration. IPv6 is expected                                              to gradually replace IPv4, with the                                              two coexisting for a number of years                                              during a transition period.</p>
<p><a name="CONTENTS"></a><b>Contents</b> <a href="http://www.laynetworks.com/ipv6.htm#CH1">1 Introduction</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH2">2.0 Key Issues</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH3">3.0 History of the                                              IPng Effort</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH4">4.0 IPng Overview</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH5">5.0 IPng Header Format</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH6">6.0 IPng Extensions</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH7">7.0 IPng Addressing</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH8">8.0 IPng Routing</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH9">9.0 IPng Quality-of-Service                                              Capabilities</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH10">10. IPng Security</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH11">11. IPng Transition                                              Mechanisms</a><br />
<a href="http://www.laynetworks.com/ipv6.htm#CH12">12. Why IPng?</a></p>
<hr />                                           <a name="CH1"></a><b>1. Introduction</b><br />
This paper presents an overview of the                                            Next Generation Internet Protocol (IPng).                                            IPng was recommended by the IPng Area                                            Directors of the Internet Engineering                                            Task Force at the Toronto IETF meeting                                            on July 25, 1994, and documented in                                            RFC 1752, &#8220;The Recommendation for                                            the IP Next Generation Protocol&#8221;                                            [1]. The recommendation was approved                                            by the Internet Engineering Steering                                            Group on November 17, 1994 and made                                            a Proposed Standard.The formal name                                              of this protocol is IPv6 (where the                                              &#8220;6&#8243; refers to it being assigned                                              version number 6). The current version                                              of the Internet Protocol is version                                              4 (referred to as IPv4). This overview                                              is intended to give the reader an                                              overview of the IPng protocol. For                                              more detailed information the reader                                              should consult the documents listed                                              in the reference section.</p>
<p>IPng is a new version of IP which                                              is designed to be an evolutionary                                              step from IPv4. It is a natural increment                                              to IPv4. It can be installed as a                                              normal software upgrade in internet                                              devices and is interoperable with                                              the current IPv4. Its deployment strategy                                              was designed to not have any &#8220;flag&#8221;                                              days. IPng is designed to run well                                              on high performance networks (e.g.,                                              ATM) and at the same time is still                                              efficient for low bandwidth networks                                              (e.g., wireless). In addition, it                                              provides a platform for new internet                                              functionality that will be required                                              in the near future.</p>
<p>This paper describes the work of                                              IETF IPng working group. Several individuals                                              deserve specific recognition. These                                              include Paul Francis, Bob Gilligan,                                              Dave Crocker, Ran Atkinson, Jim Bound,                                              Ross Callon, Bill Fink, Ramesh Govindan,                                              Christian Huitema, Erik Nordmark,                                              Tony Li, Dave Katz, Yakov Rekhter,                                              Bill Simpson, and Sue Thompson.</p>
<p><a name="CH2"></a><b>2.0 Key Issues</b><br />
There are several key issues that                                              should be considered when reviewing                                              the design of the next generation                                              internet protocol. Some are very straightforward.                                              For example the new protocol must                                              be able to support large global internetworks.                                              Others are less obvious. There must                                              be a clear way to transition the current                                              large installed base of IPv4 systems.                                              It doesn&#8217;t matter how good a new protocol                                              is if there isn&#8217;t a practical way                                              to transition the current operational                                              systems running IPv4 to the new protocol.</p>
<p><!-- google_ad_client = "pub-7966158503848256"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text"; //2007-04-27: 336 x 280 google_ad_channel = "0989555080"; google_color_border = "E6E6E6"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "FFFFCC"; //--><br />
<b>2.1 Growth</b> Growth is                                            the basic issue which caused there to                                            be a need for a next generation IP.                                            If anything is to be learned from our                                            experience with IPv4 it is that the                                            addressing and routing must be capable                                            of handling reasonable scenarios of                                            future growth. It is important that                                            we have an understanding of the past                                            growth and where the future growth will                                            come from.Currently IPv4 serves                                              what could be called the computer                                              market. The computer market has been                                              the driver of the growth of the Internet.                                              It comprises the current Internet                                              and countless other smaller internets                                              which are not connected to the Internet.                                              Its focus is to connect computers                                              together in the large business, government,                                              and university education markets.                                              This market has been growing at an                                              exponential rate. One measure of this                                              is that the number of networks in                                              current Internet (40,073 as of 10/4/94)                                              is doubling approximately every 12                                              months. The computers which are used                                              at the endpoints of internet communications                                              range from PC&#8217;s to Supercomputers.                                              Most are attached to Local Area Networks                                              (LANs) and the vast majority are not                                              mobile.</p>
<p>The next phase of growth will probably                                              not be driven by the computer market.                                              While the computer market will continue                                              to grow at significant rates due to                                              expansion into other areas such as                                              schools (elementary through high school)                                              and small businesses, it is doubtful                                              it will continue to grow at an exponential                                              rate. What is likely to happen is                                              that other kinds of markets will develop.                                              These markets will fall into several                                              areas. They all have the characteristic                                              that they are extremely large. They                                              also bring with them a new set of                                              requirements which were not as evident                                              in the early stages of IPv4 deployment.                                              The new markets are also likely to                                              happen in parallel with one another.                                              It may turn out that we will look                                              back on the last ten years of Internet                                              growth as the time when the Internet                                              was small and only doubling every                                              year. The challenge for an IPng is                                              to provide a solution which solves                                              todays problems and is attractive                                              in these emerging markets.</p>
<p>Nomadic personal computing devices                                              seem certain to become ubiquitous                                              as their prices drop and their capabilities                                              increase. A key capability is that                                              they will be networked. Unlike the                                              majority of todays networked computers                                              they will support a variety of types                                              of network attachments. When disconnected                                              they will use RF wireless networks,                                              when used in networked facilities                                              they will use infrared attachment,                                              and when docked they will use physical                                              wires. This makes them an ideal candidate                                              for internetworking technology as                                              they will need a common protocol which                                              can work over a variety of physical                                              networks. These types of devices will                                              become consumer devices and will replace                                              the current generation of cellular                                              phones, pagers, and personal digital                                              assistants. In addition to the obvious                                              requirement of an internet protocol                                              which can support large scale routing                                              and addressing, they will require                                              an internet protocol which imposes                                              a low overhead and supports auto configuration                                              and mobility as a basic element. The                                              nature of nomadic computing requires                                              an internet protocol to have built                                              in authentication and confidentiality.                                              It also goes without saying that these                                              devices will need to communicate with                                              the current generation of computers.                                              The requirement for low overhead comes                                              from the wireless media. Unlike LAN&#8217;s                                              which will be very high speed, the                                              wireless media will be several orders                                              of magnitude slower due to constraints                                              on available frequencies, spectrum                                              allocation, error rates, and power                                              consumption.</p>
<p>Another market is networked entertainment.                                              The first signs of this emerging market                                              are the proposals being discussed                                              for 500 channels of television, video                                              on demand, etc. This is clearly a                                              consumer market. The possibility is                                              that every television set will become                                              an Internet host. As the world of                                              digital high definition television                                              approaches, the differences between                                              a computer and a television will diminish.                                              As in the previous market, this market                                              will require an Internet protocol                                              which supports large scale routing                                              and addressing, and auto configuration.                                              This market also requires a protocol                                              suite which imposes the minimum overhead                                              to get he job done. Cost will be the                                              major factor in the selection of an                                              appropriate technology.</p>
<p>Another market which could use the                                              next generation IP is device control.                                              This consists of the control of everyday                                              devices such as lighting equipment,                                              heating and cooling equipment, motors,                                              and other types of equipment which                                              are currently controlled via analog                                              switches and in aggregate consume                                              considerable amounts of electrical                                              power. The size of this market is                                              enormous and requires solutions which                                              are simple, robust, easy to use, and                                              very low cost. The potential pay-back                                              is that networked control of devices                                              will result in cost savings which                                              are extremely large.</p>
<p>The challenge the IETF faced in the                                              selection of an IPng is to pick a                                              protocol which meets today&#8217;s requirements                                              and also matches the requirements                                              of these emerging markets. These markets                                              will happen with or without an IETF                                              IPng. If the IETF IPng is a good match                                              for these new markets it is likely                                              to be used. If not, these markets                                              will develop something else. They                                              will not wait for an IETF solution.                                              If this should happen it is probable                                              that because of the size and scale                                              of the new markets the IETF protocol                                              would be supplanted. If the IETF IPng                                              is not appropriate for use in these                                              markets, it is also probable that                                              they will each develop their own protocols,                                              perhaps proprietary. These new protocols                                              would not interoperate with each other.                                              The opportunity for the IETF is to                                              select an IPng which has a reasonable                                              chance to be used in these emerging                                              markets. This would have the very                                              desirable outcome of creating an immense,                                              interoperable, world- wide information                                              infrastructure created with open protocols.                                              The alternative is a world of disjoint                                              networks with protocols controlled                                              by individual vendors.</p>
<p><b>2.2 Transition</b> At some                                            point in the next three to seven years                                            the Internet will require a deployed                                            new version of the Internet protocol.                                            Two factors are driving this: routing                                            and addressing. Global internet routing                                            based on the on 32-bit addresses of                                            IPv4 is becoming increasingly strained.                                            IPv4 address do not provide enough flexibility                                            to construct efficient hierarchies which                                            can be aggregated. The deployment of                                            Classless Inter- Domain Routing [2]                                            is extending the life time of IPv4 routing                                            by a number of years, the effort to                                            manage the routing will continue to                                            increase. Even if the IPv4 routing can                                            be scaled to support a full IPv4 Internet,                                            the Internet will eventually run out                                            of network numbers. There is no question                                            that an IPng is needed, but only a question                                            of when.The challenge for an IPng                                              is for its transition to be complete                                              before IPv4 routing and addressing                                              break. The transition will be much                                              easier if IPv4 addresses are still                                              globally unique. The two transition                                              requirements which are the most important                                              are flexibility of deployment and                                              the ability for IPv4 hosts to communicate                                              with IPng hosts. There will be IPng-                                              only hosts, just as there will be                                              IPv4-only hosts. The capability must                                              exist for IPng-only hosts to communicate                                              with IPv4-only hosts globally while                                              IPv4 addresses are globally unique.</p>
<p>The deployment strategy for an IPng                                              must be as flexible as possible. The                                              Internet is too large for any kind                                              of controlled roll out to be successful.                                              The importance of flexibility in an                                              IPng and the need for interoperability                                              between IPv4 and IPng was well stated                                              in a message to the sipp mailing list                                              by Bill Fink, who is responsible for                                              a portion of NASA&#8217;s operational internet.                                              In his message he said:</p>
<blockquote><p> &#8220;Being a network manager                                              and thereby representing the interests                                              of a significant number of users,                                              from my perspective it&#8217;s safe to say                                              that the transition and interoperation                                              aspects of any IPng is *the* key first                                              element, without which any other significant                                              advantages won&#8217;t be able to be integrated                                              into the user&#8217;s network environment.                                              I also don&#8217;t think it wise to think                                              of the transition as just a painful                                              phase we&#8217;ll have to endure en route                                              to a pure IPng environment, since                                              the transition/coexistence period                                              undoubtedly will last at least a decade                                              and may very well continue for the                                              entire lifetime of IPng, until it&#8217;s                                              replaced with IPngng and a new transition.                                              I might wish it was otherwise but                                              I fear they are facts of life given                                              the immense installed base.&#8221;Given this situation, and                                                the reality that it won&#8217;t be feasible                                                to coordinate all the infrastructure                                                changes even at the national and                                                regional levels, it is imperative                                                that the transition capabilities                                                support the ability to deploy the                                                IPng in the piecemeal fashion&#8230;                                                with no requirement to need to coordinate                                                local changes with other changes                                                elsewhere in the Internet&#8230;</p>
<p>&#8220;I realize that support for                                                the transition and coexistence capabilities                                                may be a major part of the IPng                                                effort and may cause some headaches                                                for the designers and developers,                                                but I think it is a duty that can&#8217;t                                                be shirked and the necessary price                                                that must be paid to provide as                                                seamless an environment as possible                                                to the end user and his basic network                                                services such as e-mail, ftp, gopher,                                                X-Window clients, etc&#8230;</p>
<p>&#8220;The bottom line for me is                                                that we must have interoperability                                                during the extended transition period                                                for the base IPv4 functionality&#8230;&#8221;</p></blockquote>
<p>Another way to think about the requirement                                              for compatibility with IPv4 is to                                              look at other product areas. In the                                              product world, backwards compatibility                                              is very important. Vendors who do                                              not provide backward compatibility                                              for their customers usually find they                                              do not have many customers left. For                                              example, chip makers put considerable                                              effort into making sure that new versions                                              of their processor always run all                                              of the software that ran on the previous                                              model. It is unlikely that Intel would                                              develop a new processor in the X86                                              family that did not run DOS and the                                              tens of thousands of applications                                              which run on the current versions                                              of X86&#8242;s.</p>
<p>Operating system vendors go to great                                              lengths to make sure new versions                                              of their operating systems are binary                                              compatible with their old version.                                              For example the labels on most PC                                              or MAC software usually indicate that                                              they require OS version XX or greater.                                              It would be foolish for Microsoft                                              come out with a new version of Windows                                              which did not run the applications                                              which ran on the previous version.                                              Microsoft even provides the ability                                              for windows applications to run on                                              their new OS NT. This is an important                                              feature. They understand that it was                                              very important to make sure that the                                              applications which run on Windows                                              also run on NT.</p>
<p>The same requirement is also true                                              for IPng. The Internet has a large                                              installed base. Features need to be                                              designed into an IPng to make the                                              transition as easy as possible. As                                              with processors and operating systems,                                              it must be backwards compatible with                                              IPv4. Other protocols have tried to                                              replace TCP/IP, for example XTP and                                              OSI. One element in their failure                                              to reach widespread acceptance was                                              that neither had any transition strategy                                              other than running in parallel (sometimes                                              called dual stack). New features alone                                              are not adequate to motivate users                                              to deploy new protocols. IPng must                                              have a great transition strategy and                                              new features.</p>
<p><a name="CH3"></a><b>3.0 History of                                            the IPng Effort</b><br />
The IPng protocol represents the                                            evolution of many different IETF proposals                                            and working groups focused on developing                                            an IPng. It represents over three years                                            of effort focused on this topic. A brief                                            history follows:By the Winter of                                              1992 the Internet community had developed                                              four separate proposals for IPng.                                              These were &#8220;CNAT&#8221;, &#8220;IP                                              Encaps&#8221;, &#8220;Nimrod&#8221;,                                              and &#8220;Simple CLNP&#8221;. By December                                              1992 three more proposals followed;                                              &#8220;The P Internet Protocol&#8221;                                              (PIP), &#8220;The Simple Internet Protocol&#8221;                                              (SIP) and &#8220;TP/IX&#8221;. In the                                              Spring of 1992 the &#8220;Simple CLNP&#8221;                                              evolved into &#8220;TCP and UDP with                                              Bigger Addresses&#8221; (TUBA) and                                              &#8220;IP Encaps&#8221; evolved into                                              &#8220;IP Address Encapsulation&#8221;                                              (IPAE).</p>
<p>By the fall of 1993, IPAE merged                                              with SIP while still maintaining the                                              name SIP. This group later merged                                              with PIP and the resulting working                                              group called themselves &#8220;Simple                                              Internet Protocol Plus&#8221; (SIPP).                                              At about the same time the TP/IX Working                                              Group changed its name to &#8220;Common                                              Architecture for the Internet&#8221;                                              (CATNIP).</p>
<p>The IPng area directors made a recommendation                                              for an IPng in July of 1994. This                                              recommendation, from [1], includes                                              the following elements:</p>
<ul>
<li>Current address assignment policies                                                are adequate.</li>
<li>There is no current need to reclaim                                                underutilized assigned network numbers.</li>
<li>There is no current need to renumber                                                major portions of the Internet.</li>
<li>CIDR-style assignments of parts                                                of unassigned Class A address space                                                should be considered.</li>
<li>&#8220;Simple Internet Protocol                                                Plus (SIPP) Spec. (128 bit ver)&#8221;                                                [3] be adopted as the basis for                                                IPng.</li>
<li>The documents listed in Appendix                                                C be the foundation of the IPng                                                effort.</li>
<li>An IPng Working Group be formed,                                                chaired by Steve Deering and Ross                                                Callon.</li>
<li>Robert Hinden be the document                                                editor for the IPng effort.</li>
<li>An IPng Reviewer be appointed                                                and that Dave Clark be the reviewer.</li>
<li>An Address Autoconfiguration Working                                                Group be formed, chaired by Dave                                                Katz and Sue Thomson.</li>
<li>An IPng Transition Working Group                                                be formed, chaired by Bob Gilligan                                                and TBA.</li>
<li>The Transition and Coexistence                                                Including Testing Working Group                                                be chartered.</li>
<li>Recommendations about the use                                                of non-IPv6 addresses in IPv6 environments                                                and IPv6 addresses in non-IPv6 environments                                                be developed.</li>
<li>The IESG commission a review of                                                all IETF standards documents for                                                IPng implications.</li>
<li>The IESG task current IETF working                                                groups to take IPng into account.</li>
<li>The IESG charter new working groups                                                where needed to revise old standards                                                documents.</li>
<li>Informational RFCs be solicited                                                or developed describing a few specific                                                IPng APIs.</li>
<li>The IPng Area and Area Directorate                                                continue until main documents are                                                offered as Proposed Standards in                                                late 1994.</li>
<li>Support for the Authentication                                                Header be required.</li>
<li>Support for a specific authentication                                                algorithm be required.</li>
<li>Support for the Privacy Header                                                be required.</li>
<li>Support for a specific privacy                                                algorithm be required.</li>
<li>An &#8220;IPng framework for firewalls&#8221;                                                be developed.</li>
</ul>
<p><!-- google_ad_client = "pub-7966158503848256"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text"; //2007-04-27: 336 x 280 google_ad_channel = "0989555080"; google_color_border = "E6E6E6"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "FFFFCC"; //--> <br />
<a name="CH4"></a><b>4.0 IPng Overview</b><br />
IPng is a new version of the Internet                                            Protocol, designed as a successor to                                            IP version 4 [4]. IPng is assigned IP                                            version number 6 and is formally called                                            IPv6 [5].IPng was designed to take                                              an evolutionary step from IPv4. It                                              was not a design goal to take a radical                                              step away from IPv4. Functions which                                              work in IPv4 were kept in IPng. Functions                                              which didn&#8217;t work were removed. The                                              changes from IPv4 to IPng fall primarily                                              into the following categories:</p>
<ul>
<li>Expanded Routing and Addressing                                                CapabilitiesIPng increases the IP address                                                  size from 32 bits to 128 bits,                                                  to support more levels of addressing                                                  hierarchy and a much greater number                                                  of addressable nodes, and simpler                                                  auto-configuration of addresses.
<p>The scalability of multicast                                                  routing is improved by adding                                                  a &#8220;scope&#8221; field to multicast                                                  addresses.</li>
<li>A new type of address called a                                                &#8220;anycast address&#8221; is defined,                                                to identify sets of nodes where                                                a packet sent to an anycast address                                                is delivered to one of the nodes.                                                The use of anycast addresses in                                                the IPng source route allows nodes                                                to control the path which their                                                traffic flows.</li>
<li>Header Format SimplificationSome IPv4 header fields have                                                  been dropped or made optional,                                                  to reduce the common-case processing                                                  cost of packet handling and to                                                  keep the bandwidth cost of the                                                  IPng header as low as possible                                                  despite the increased size of                                                  the addresses. Even though the                                                  IPng addresses are four time longer                                                  than the IPv4 addresses, the IPng                                                  header is only twice the size                                                  of the IPv4 header.</li>
<li>Improved Support for OptionsChanges in the way IP header                                                  options are encoded allows for                                                  more efficient forwarding, less                                                  stringent limits on the length                                                  of options, and greater flexibility                                                  for introducing new options in                                                  the future.</li>
<li>Quality-of-Service CapabilitiesA new capability is added to                                                  enable the labeling of packets                                                  belonging to particular traffic                                                  &#8220;flows&#8221; for which the                                                  sender requests special handling,                                                  such as non-default quality of                                                  service or &#8220;real- time&#8221;                                                  service.</li>
<li>Authentication and Privacy CapabilitiesIPng includes the definition                                                  of extensions which provide support                                                  for authentication, data integrity,                                                  and confidentiality. This is included                                                  as a basic element of IPng and                                                  will be included in all implementations.</li>
</ul>
<p>The IPng protocol consists of two                                              parts, the basic IPng header and IPng                                              extension headers.</p>
<p><a name="CH5"></a><b>5.0 IPng Header Format</b></p>
<pre>   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Version| Prior |                       Flow Label              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Payload Length        |  Next Header  |   Hop Limit   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                         Source Address                        +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                      Destination Address                      +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</pre>
<dl>
<dt><b>Ver</b><br />
4-bit Internet Protocol version                                                number = 6.
</dt>
<dt><b>Prio</b><br />
4-bit Priority value. See IPng Priority                                                section.                                             </dt>
<dt><b>Flow Label</b><br />
24-bit field. See IPng Quality of                                                Service section.                                              </dt>
<dt><b>Payload Length </b><br />
16-bit unsigned integer. Length                                                of payload, i.e., the rest of the                                                packet following the IPng header,                                                in octets.                                              </dt>
<dt><b>Next Hdr<br />
</b>8-bit selector. Identifies                                                the type of header immediately following                                                the IPng header. Uses the same values                                                as the IPv4 Protocol field [6].                                              </dt>
<dt><b>Hop Limit<br />
</b>8-bit unsigned integer.                                                Decremented by 1 by each node that                                                forwards the packet. The packet                                                is discarded if Hop Limit is decremented                                                to zero.                                              </dt>
<dt><b>Source Address<br />
</b>128 bits. The address of                                                the initial sender of the packet.                                                See [7] for details.                                              </dt>
<dt><b>Destination Address<br />
</b>128 bits. The address of                                                the intended recipient of the packet                                                (possibly not the ultimate recipient,                                                if an optional Routing Header is                                                present).                                           </dt>
</dl>
<p>                                           <b><a name="CH6"></a>6.0 IPng Extensions</b><br />
IPng includes an improved option mechanism                                            over IPv4. IPng options are placed in                                            separate extension headers that are                                            located between the IPng header and                                            the transport-layer header in a packet.                                            Most IPng extension headers are not                                            examined or processed by any router                                            along a packet&#8217;s delivery path until                                            it arrives at its final destination.                                            This facilitates a major improvement                                            in router performance for packets containing                                            options. In IPv4 the presence of any                                            options requires the router to examine                                            all options.The other improvement                                              is that unlike IPv4 options, IPng                                              extension headers can be of arbitrary                                              length and the total amount of options                                              carried in a packet is not limited                                              to 40 bytes. This feature plus the                                              manner in which they are processed,                                              permits IPng options to be used for                                              functions which were not practical                                              in IPv4. A good example of this is                                              the IPng Authentication and Security                                              Encapsulation options.</p>
<p>In order to improve the performance                                              when handling subsequent option headers                                              and the transport protocol which follows,                                              IPng options are always an integer                                              multiple of 8 octets long, in order                                              to retain this alignment for subsequent                                              headers.</p>
<p>The IPng extension headers which                                              are currently defined are:</p>
<dl>
<dt><b>Routing </b>Extended                                                Routing (like IPv4 loose source                                                route).                                              </dt>
<dt><b>Fragmentation </b>Fragmentation                                                and Reassembly.                                              </dt>
<dt><b>Authentication </b>Integrity                                                and Authentication. Security                                              </dt>
<dt><b>Encapsulation </b>Confidentiality.                                              </dt>
<dt><b>Hop-by-Hop Option </b>Special                                                options which require hop by hop                                                processing.                                              </dt>
<dt><b>Destination Options </b>Optional                                                information to be examined by the                                                destination node.                                           </dt>
</dl>
<p>                                           <a name="CH7"></a><b>7.0 IPng Addressing</b><br />
IPng addresses are 128-bits long                                            and are identifiers for individual interfaces                                            and sets of interfaces. IPng Addresses                                            of all types are assigned to interfaces,                                            not nodes. Since each interface belongs                                            to a single node, any of that node&#8217;s                                            interfaces&#8217; unicast addresses may be                                            used as an identifier for the node.                                            A single interface may be assigned multiple                                            IPv6 addresses of any type.There                                              are three types of IPng addresses.                                              These are unicast, anycast, and multicast.                                              Unicast addresses identify a single                                              interface. Anycast addresses identify                                              a set of interfaces such that a packet                                              sent to a anycast address will be                                              delivered to one member of the set.                                              Multicast addresses identify a group                                              of interfaces, such that a packet                                              sent to a multicast address is delivered                                              to all of the interfaces in the group.                                              There are no broadcast addresses in                                              IPv6, their function being superseded                                              by multicast addresses.</p>
<p>IPng supports addresses which are                                              four times the number of bits as IPv4                                              addresses (128 vs. 32). This is 4                                              Billion times 4 Billion times 4 Billion                                              (2^^96) times the size of the IPv4                                              address space (2^^32). This works                                              out to be:<br />
<b>340,282,366,920,938,463,463,374,607,431,768,211,456                                              </b></p>
<p>This is an extremely large address                                              space. In a theoretical sense this                                              is approximately 665,570,793,348,866,943,898,599                                              addresses per square meter of the                                              surface of the planet Earth (assuming                                              the earth surface is 511,263,971,197,990                                              square meters).</p>
<p>In more practical terms the assignment                                              and routing of addresses requires                                              the creation of hierarchies which                                              reduces the efficiency of the usage                                              of the address space. Christian Huitema                                              performed an analysis in [8] which                                              evaluated the efficiency of other                                              addressing architecture&#8217;s (including                                              the French telephone system, USA telephone                                              systems, current internet using IPv4,                                              and IEEE 802 nodes). He concluded                                              that 128bit IPng addresses could accommodate                                              between 8&#215;10^^17 to 2&#215;10^^33 nodes                                              assuming efficiency in the same ranges                                              as the other addressing architecture&#8217;s.                                              Even his most pessimistic estimate                                              this would provide 1,564 addresses                                              for each square meter of the surface                                              of the planet Earth. The optimistic                                              estimate would allow for 3,911,873,538,269,506,102                                              addresses for each square meter of                                              the surface of the planet Earth.</p>
<p>The specific type of IPng address                                              is indicated by the leading bits in                                              the address. The variable-length field                                              comprising these leading bits is called                                              the Format Prefix (FP). The initial                                              allocation of these prefixes is as                                              follows:</p>
<pre>Allocation			Prefix(binary)	Fraction of Address Space

Reserved			0000 0000	1/256
Unassigned			0000 0001	1/256

Reserved for NSAP Allocation	0000 001	1/128
Reserved for IPX Allocation	0000 010	1/128

Unassigned			0000 011	1/128
Unassigned			0000 1		1/32
Unassigned			0001		1/16
Unassigned			001		1/8

Provider-Based Unicast Address	010		1/8

Unassigned			011		1/8

Reserved for
Neutral-Interconnect-Based
Unicast Addresses		100		1/8

Unassigned			101		1/8
Unassigned			110		1/8
Unassigned			1110		1/16
Unassigned			1111 0		1/32
Unassigned			1111 10		1/64
Unassigned			1111 110	1/128
Unassigned			1111 1110 0 	1/512

Link Local Use Addresses	1111 1110 10 	1/1024

Site Local Use Addresses	1111 1110 11 	1/1024

Multicast Addresses		1111 1111	1/256</pre>
<p>This allocation supports the direct                                              allocation of provider addresses,                                              local use addresses, and multicast                                              addresses. Space is reserved for NSAP                                              addresses, IPX addresses, and neutral-interconnect                                              addresses. The remainder of the address                                              space is unassigned for future use.                                              This can be used for expansion of                                              existing use (e.g., additional provider                                              addresses, etc.) or new uses (e.g.,                                              separate locators and identifiers).                                              Note that Anycast addresses are not                                              shown here because they are allocated                                              out of the unicast address space.</p>
<p>Approximately fifteen percent of                                              the address space is initially allocated.                                              The remaining 85% is reserved for                                              future use.</p>
<p><!-- google_ad_client = "pub-7966158503848256"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text"; //2007-04-27: 336 x 280 google_ad_channel = "0989555080"; google_color_border = "E6E6E6"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "FFFFCC"; //-->                                              <b>7.1 Unicast Addresses </b>There                                            are several forms of unicast address                                            assignment in IPv6. These are the global                                            provider based unicast address, the                                            neutral-interconnect unicast address,                                            the NSAP address, the IPX hierarchical                                            address, the site-local-use address,                                            the link-local-use address, and the                                            IPv4-capable host address. Additional                                            address types can be defined in the                                            future.</p>
<p><b>7.2 Provider Based Unicast Addresses                                            </b>Provider based unicast addresses                                            are used for global communication. They                                            are similar in function to IPv4 addresses                                            under CIDR. The assignment plan for                                            unicast addresses is described in [9]                                            and [10]. Their format is:</p>
<pre>     | 3 |  n bits   |  m bits   |   o bits    | p bits  | o-p bits |
     +---+-----------+-----------+-------------+---------+----------+
     |010|REGISTRY ID|PROVIDER ID|SUBSCRIBER ID|SUBNET ID| INTF. ID |
     +---+-----------+-----------+-------------+---------+----------+</pre>
<p>The first 3 bits identify the address                                              as a provider- oriented unicast address.                                              The next field (REGISTRY ID) identifies                                              the internet address registry which                                              assigns provider identifiers (PROVIDER                                              ID) to internet service providers,                                              which then assign portions of the                                              address space to subscribers. This                                              usage is similar to assignment of                                              IP addresses under CIDR. The SUBSCRIBER                                              ID distinguishes among multiple subscribers                                              attached to the internet service provider                                              identified by the PROVIDER ID. The                                              SUBNET ID identifies a specific physical                                              link. There can be multiple subnets                                              on the same physical link. A specific                                              subnet can not span multiple physical                                              links. The INTERFACE ID identifies                                              a single interface among the group                                              of interfaces identified by the subnet                                              prefix.</p>
<p><b>7.3 Local-Use Addresses</b>                                            A local-use address is a unicast address                                            that has only local routability scope                                            (within the subnet or within a subscriber                                            network), and may have local or global                                            uniqueness scope. They are intended                                            for use inside of a site for &#8220;plug                                            and play&#8221; local communication and                                            for bootstrapping up to the use of global                                            addresses [11].There are two types                                              of local-use unicast addresses defined.                                              These are Link-Local and Site-Local.                                              The Link-Local-Use is for use on a                                              single link and the Site-Local-Use                                              is for use in a single site. Link-Local-                                              Use addresses have the following format:</p>
<pre>     |   10     |
     |  bits    |        n bits           |       118-n bits           |
     +----------+-------------------------+----------------------------+
     |1111111010|           0             |       INTERFACE ID         |
     +----------+-------------------------+----------------------------+</pre>
<p>Link-Local-Use addresses are designed                                              to be used for addressing on a single                                              link for purposes such as auto-address                                              configuration.</p>
<p>Site-Local-Use addresses have the                                              following format:</p>
<pre>     |   10     |
     |  bits    | n bits  |    m bits     |       118-n-m bits         |
     +----------+---------+---------------+----------------------------+
     |1111111011|    0    |   SUBNET ID   |       INTERFACE ID         |
     +----------+---------+---------------+----------------------------+</pre>
<p>For both types of local use addresses                                              the INTERFACE ID is an identifier                                              which much be unique in the domain                                              in which it is being used. In most                                              cases these will use a node&#8217;s IEEE-802                                              48bit address. The SUBNET ID identifies                                              a specific subnet in a site. The combination                                              of the SUBNET ID and the INTERFACE                                              ID to form a local use address allows                                              a large private internet to be constructed                                              without any other address allocation.</p>
<p>Local-use addresses allow organizations                                              that are not (yet) connected to the                                              global Internet to operate without                                              the need to request an address prefix                                              from the global Internet address space.                                              Local-use addresses can be used instead.                                              If the organization later connects                                              to the global Internet, it can use                                              its SUBNET ID and INTERFACE ID in                                              combination with a global prefix (e.g.,                                              REGISTRY ID + PROVIDER ID + SUBSCRIBER                                              ID) to create a global address. This                                              is a significant improvement over                                              IPv4 which requires sites which use                                              private (non-global) IPv4 address                                              to manually renumber when they connect                                              to the Internet. IPng does the renumbering                                              automatically.</p>
<p><b>7.4 IPv6 Addresses with Embedded                                            IPV4 Addresses </b>The IPv6 transition                                            mechanisms include a technique for hosts                                            and routers to dynamically tunnel IPv6                                            packets over IPv4 routing infrastructure.                                            IPv6 nodes that utilize this technique                                            are assigned special IPv6 unicast addresses                                            that carry an IPv4 address in the low-order                                            32-bits. This type of address is termed                                            an &#8220;IPv4-compatible IPv6 address&#8221;                                            and has the format:</p>
<pre>     |                80 bits               | 16 |      32 bits        |
     +--------------------------------------+--------------------------+
     |0000..............................0000|0000|    IPV4 ADDRESS     |
     +--------------------------------------+----+---------------------+</pre>
<p>A second type of IPv6 address which                                              holds an embedded IPv4 address is                                              also defined. This address is used                                              to represent the addresses of IPv4-                                              only nodes (those that *do not* support                                              IPv6) as IPv6 addresses. This type                                              of address is termed an &#8220;IPv4-mapped                                              IPv6 address&#8221; and has the format:</p>
<pre>     |                80 bits               | 16 |      32 bits        |
     +--------------------------------------+--------------------------+
     |0000..............................0000|FFFF|    IPV4 ADDRESS     |
     +--------------------------------------+----+---------------------+</pre>
<p><b>7.5 Anycast Addresses<br />
</b>An IPv6 anycast address is                                            an address that is assigned to more                                            than one interfaces (typically belonging                                            to different nodes), with the property                                            that a packet sent to an anycast address                                            is routed to the &#8220;nearest&#8221;                                            interface having that address, according                                            to the routing protocols&#8217; measure of                                            distance.Anycast addresses, when used as part                                              of an route sequence, permits a node                                              to select which of several internet                                              service providers it wants to carry                                              its traffic. This capability is sometimes                                              called &#8220;source selected policies&#8221;.                                              This would be implemented by configuring                                              anycast addresses to identify the                                              set of routers belonging to internet                                              service providers (e.g., one anycast                                              address per internet service provider).                                              These anycast addresses can be used                                              as intermediate addresses in an IPv6                                              routing header, to cause a packet                                              to be delivered via a particular provider                                              or sequence of providers. Other possible                                              uses of anycast addresses are to identify                                              the set of routers attached to a particular                                              subnet, or the set of routers providing                                              entry into a particular routing domain.</p>
<p>Anycast addresses are allocated from                                              the unicast address space, using any                                              of the defined unicast address formats.                                              Thus, anycast addresses are syntactically                                              indistinguishable from unicast addresses.                                              When a unicast address is assigned                                              to more than one interface, thus turning                                              it into an anycast address, the nodes                                              to which the address is assigned must                                              be explicitly configured to know that                                              it is an anycast address.</p>
<p><b>7.6 Multicast Addresses</b>                                            A IPng multicast address is an identifier                                            for a group of interfaces. A interface                                            may belong to any number of multicast                                            groups. Multicast addresses have the                                            following format:</p>
<pre>     |   8    |  4 |  4 |                  112 bits                   |
     +------ -+----+----+---------------------------------------------+
     |11111111|FLGS|SCOP|                  GROUP ID                   |
     +--------+----+----+---------------------------------------------+</pre>
<p>11111111 at the start of the address                                              identifies the address as being a                                              multicast address.</p>
<p>+-+-+-+-+ FLGS is a set of 4 flags:                                              |0|0|0|T| +-+-+-+-+</p>
<p>The high-order 3 flags are reserved,                                              and must be initialized to 0.</p>
<p>T=0 indicates a permanently assigned                                              (&#8220;well-known&#8221;) multicast                                              address, assigned by the global internet                                              numbering authority.</p>
<p>T=1 indicates a non-permanently assigned                                              (&#8220;transient&#8221;) multicast                                              address.</p>
<p>SCOP is a 4-bit multicast scope value                                              used to limit the scope of the multicast                                              group. The values are:</p>
<p>0 Reserved 8 Organization-local scope                                              1 Node-local scope 9 (unassigned)                                              2 Link-local scope A (unassigned)                                              3 (unassigned) B (unassigned) 4 (unassigned)                                              C (unassigned) 5 Site-local scope                                              D (unassigned) 6 (unassigned) E Global                                              scope 7 (unassigned) F Reserved</p>
<p>GROUP ID identifies the multicast                                              group, either permanent or transient,                                              within the given scope.</p>
<p><!-- google_ad_client = "pub-7966158503848256"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text"; //2007-04-27: 336 x 280 google_ad_channel = "0989555080"; google_color_border = "E6E6E6"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "FFFFCC"; //-->                                              <a name="CH8"></a><b>8.0 IPng Routing</b><br />
Routing in IPng is almost identical                                            to IPv4 routing under CIDR except that                                            the addresses are 128- bit IPng addresses                                            instead of 32-bit IPv4 addresses. With                                            very straightforward extensions, all                                            of IPv4&#8242;s routing algorithms (OSPF,                                            RIP, IDRP, ISIS, etc.) can used to route                                            IPng.IPng also includes simple routing                                              extensions which support powerful                                              new routing functionality. These capabilities                                              include:</p>
<ul>
<li>Provider Selection (based on policy,                                                performance, cost, etc.)</li>
<li>Host Mobility (route to current                                                location)</li>
<li>Auto-Readdressing (route to new                                                address)</li>
</ul>
<p>The new routing functionality is                                              obtained by creating sequences of                                              IPng addresses using the IPng Routing                                              option. The routing option is used                                              by a IPng source to list one or more                                              intermediate nodes (or topological                                              group) to be &#8220;visited&#8221; on                                              the way to a packet&#8217;s destination.                                              This function is very similar in function                                              to IPv4&#8242;s Loose Source and Record                                              Route option.</p>
<p>In order to make address sequences                                              a general function, IPng hosts are                                              required in most cases to reverse                                              routes in a packet it receives (if                                              the packet was successfully authenticated                                              using the IPng Authentication Header)                                              containing address sequences in order                                              to return the packet to its originator.                                              This approach is taken to make IPng                                              host implementations from the start                                              support the handling and reversal                                              of source routes. This is the key                                              for allowing them to work with hosts                                              which implement the new features such                                              as provider selection or extended                                              addresses.</p>
<p>Three examples show how the address                                              sequences can be used. In these examples,                                              address sequences are shown by a list                                              of individual addresses separated                                              by commas. For example:<br />
SRC, I1, I2, I3, DST</p>
<p>Where the first address is the source                                              address, the last address is the destination                                              address, and the middle addresses                                              are intermediate addresses.</p>
<p>For these examples assume that two                                              hosts, H1 and H2 wish to communicate.                                              Assume that H1 and H2&#8242;s sites are                                              both connected to providers P1 and                                              P2. A third wireless provider, PR,                                              is connected to both providers P1                                              and P2.</p>
<pre>                           ----- P1 ------
                          /       |       \
                         /        |        \
                       H1        PR        H2
                         \        |        /
                          \       |       /
                           ----- P2 ------</pre>
<p>The simplest case (no use of address                                              sequences) is when H1 wants to send                                              a packet to H2 containing the addresses:H1,                                              H2</p>
<p>When H2 replied it would reverse                                              the addresses and construct a packet                                              containing the addresses: H2, H1</p>
<p>In this example either provider could                                              be used, and H1 and H2 would not be                                              able to select which provider traffic                                              would be sent to and received from.</p>
<p>If H1 decides that it wants to enforce                                              a policy that all communication to/from                                              H2 can only use provider P1, it would                                              construct a packet containing the                                              address sequence: H1, P1, H2</p>
<p>This ensures that when H2 replies                                              to H1, it will reverse the route and                                              the reply it would also travel over                                              P1. The addresses in H2&#8242;s reply would                                              look like: H2, P1, H1</p>
<p>If H1 became mobile and moved to                                              provider PR, it could maintain (not                                              breaking any transport connections)                                              communication with H2, by sending                                              packets that contain the address sequence:                                              H1, PR, P1, H2</p>
<p>This would ensure that when H2 replied                                              it would enforce H1&#8242;s policy of exclusive                                              use of provider P1 and send the packet                                              to H1 new location on provider PR.                                              The reversed address sequence would                                              be: H2, P1, PR, H1</p>
<p>The address sequence facility of                                              IPng can be used for provider selection,                                              mobility, and readdressing. It is                                              a simple but powerful capability.</p>
<p><a name="CH9"></a><b>9.0 IPng Quality-of-Service                                            Capabilities</b><br />
The Flow Label and the Priority                                            fields in the IPng header may be used                                            by a host to identify those packets                                            for which it requests special handling                                            by IPng routers, such as non-default                                            quality of service or &#8220;real-time&#8221;                                            service. This capability is important                                            in order to support applications which                                            require some degree of consistent throughput,                                            delay, and/or jitter. These type of                                            applications are commonly described                                            as &#8220;multi- media&#8221; or &#8220;real-time&#8221;                                            applications.</p>
<p><b>9.1 Flow Labels</b> The                                            24-bit Flow Label field in the IPv6                                            header may be used by a source to label                                            those packets for which it requests                                            special handling by the IPv6 routers,                                            such as non-default quality of service                                            or &#8220;real-time&#8221; service.This                                              aspect of IPv6 is, at the time of                                              writing, still experimental and subject                                              to change as the requirements for                                              flow support in the Internet become                                              clearer. Hosts or routers that do                                              not support the functions of the Flow                                              Label field are required to set the                                              field to zero when originating a packet,                                              pass the field on unchanged when forwarding                                              a packet, and ignore the field when                                              receiving a packet.</p>
<p>A flow is a sequence of packets sent                                              from a particular source to a particular                                              (unicast or multicast) destination                                              for which the source desires special                                              handling by the intervening routers.                                              The nature of that special handling                                              might be conveyed to the routers by                                              a control protocol, such as a resource                                              reservation protocol, or by information                                              within the flow&#8217;s packets themselves,                                              e.g., in a hop-by-hop option.</p>
<p>There may be multiple active flows                                              from a source to a destination, as                                              well as traffic that is not associated                                              with any flow. A flow is uniquely                                              identified by the combination of a                                              source address and a non- zero flow                                              label. Packets that do not belong                                              to a flow carry a flow label of zero.</p>
<p>A flow label is assigned to a flow                                              by the flow&#8217;s source node. New flow                                              labels must be chosen (pseudo-)randomly                                              and uniformly from the range 1 to                                              FFFFFF hex. The purpose of the random                                              allocation is to make any set of bits                                              within the Flow Label field suitable                                              for use as a hash key by routers,                                              for looking up the state associated                                              with the flow.</p>
<p>All packets belonging to the same                                              flow must be sent with the same source                                              address, same destination address,                                              and same non-zero flow label. If any                                              of those packets includes a Hop-by-Hop                                              Options header, then they all must                                              be originated with the same Hop-by-Hop                                              Options header contents (excluding                                              the Next Header field of the Hop-by-Hop                                              Options header). If any of those packets                                              includes a Routing header, then they                                              all must be originated with the same                                              contents in all extension headers                                              up to and including the Routing header                                              (excluding the Next Header field in                                              the Routing header). The routers or                                              destinations are permitted, but not                                              required, to verify that these conditions                                              are satisfied. If a violation is detected,                                              it should be reported to the source                                              by an ICMP Parameter Problem message,                                              Code 0, pointing to the high-order                                              octet of the Flow Label field (i.e.,                                              offset 1 within the IPv6 packet) [12].</p>
<p>Routers are free to &#8220;opportunistically&#8221;                                              set up flow- handling state for any                                              flow, even when no explicit flow establishment                                              information has been provided to them                                              via a control protocol, a hop-by-hop                                              option, or other means. For example,                                              upon receiving a packet from a particular                                              source with an unknown, non-zero flow                                              label, a router may process its IPv6                                              header and any necessary extension                                              headers as if the flow label were                                              zero. That processing would include                                              determining the next-hop interface,                                              and possibly other actions, such as                                              updating a hop-by-hop option, advancing                                              the pointer and addresses in a Routing                                              header, or deciding on how to queue                                              the packet based on its Priority field.                                              The router may then choose to &#8220;remember&#8221;                                              the results of those processing steps                                              and cache that information, using                                              the source address plus the flow label                                              as the cache key. Subsequent packets                                              with the same source address and flow                                              label may then be handled by referring                                              to the cached information rather than                                              examining all those fields that, according                                              to the requirements of the previous                                              paragraph, can be assumed unchanged                                              from the first packet seen in the                                              flow.</p>
<p><b>9.2 Priority</b> The 4-bit                                            Priority field in the IPv6 header enables                                            a source to identify the desired delivery                                            priority of its packets, relative to                                            other packets from the same source.                                            The Priority values are divided into                                            two ranges: Values 0 through 7 are used                                            to specify the priority of traffic for                                            which the source is providing congestion                                            control, i.e., traffic that &#8220;backs                                            off&#8221; in response to congestion,                                            such as TCP traffic. Values 8 through                                            15 are used to specify the priority                                            of traffic that does not back off in                                            response to congestion, e.g., &#8220;real-time&#8221;                                            packets being sent at a constant rate.For                                              congestion-controlled traffic, the                                              following Priority values are recommended                                              for particular application categories:</p>
<dl>
<dd>0    Uncharacterized                                                traffic                                              </dd>
<dd>1    &#8220;Filler&#8221;                                                traffic (e.g., netnews)                                              </dd>
<dd>2    Unattended data                                                transfer (e.g., email)                                              </dd>
<dd>3    (Reserved)                                              </dd>
<dd>4    Attended bulk transfer                                                (e.g., FTP, HTTP, NFS)                                              </dd>
<dd>5    (Reserved)                                              </dd>
<dd>6    Interactive traffic                                                (e.g., telnet, X)                                              </dd>
<dd>7    Internet control                                                traffic (e.g., routing protocols,                                                SNMP)</dd>
</dl>
<p>For non-congestion-controlled traffic,                                              the lowest Priority value (8) should                                              be used for those packets that the                                              sender is most willing to have discarded                                              under conditions of congestion (e.g.,                                              high-fidelity video traffic), and                                              the highest value (15) should be used                                              for those packets that the sender                                              is least willing to have discarded                                              (e.g., low-fidelity audio traffic).                                              There is no relative ordering implied                                              between the congestion-controlled                                              priorities and the non-congestion-controlled                                              priorities.</p>
<p><a name="CH10"></a><b>10. IPng Security</b><br />
The current Internet has a number of                                            security problems and lacks effective                                            privacy and authentication mechanisms                                            below the application layer. IPng remedies                                            these shortcomings by having two integrated                                            options that provide security services                                            [13]. These two options may be used                                            singly or together to provide differing                                            levels of security to different users.                                            This is very important because different                                            user communities have different security                                            needs.The first mechanism, called                                              the &#8220;IPng Authentication Header&#8221;,                                              is an extension header which provides                                              authentication and integrity (without                                              confidentiality) to IPng datagrams                                              [14]. While the extension is algorithm-                                              independent and will support many                                              different authentication techniques,                                              the use of keyed MD5 is proposed to                                              help ensure interoperability within                                              the worldwide Internet. This can be                                              used to eliminate a significant class                                              of network attacks, including host                                              masquerading attacks. The use of the                                              IPng Authentication Header is particularly                                              important when source routing is used                                              with IPng because of the known risks                                              in IP source routing. Its placement                                              at the internet layer can help provide                                              host origin authentication to those                                              upper layer protocols and services                                              that currently lack meaningful protections.                                              This mechanism should be exportable                                              by vendors in the United States and                                              other countries with similar export                                              restrictions because it only provides                                              authentication and integrity, and                                              specifically does not provide confidentiality.                                              The exportability of the IPng Authentication                                              Header encourages its widespread deployment                                              and use.</p>
<p>The second security extension header                                              provided with IPng is the &#8220;IPng                                              Encapsulating Security Header&#8221;                                              [15]. This mechanism provides integrity                                              and confidentiality to IPng datagrams.                                              It is simpler than some similar security                                              protocols (e.g., SP3D, ISO NLSP) but                                              remains flexible and algorithm-independent.                                              To achieve interoperability within                                              the global Internet, the use of DES                                              CBC is being used as the standard                                              algorithm for use with the IPng Encapsulating                                              Security Header.</p>
<p><a name="CH11"></a><b>11. IPng Transition                                            Mechanisms</b><br />
The key transition objective is                                            to allow IPv6 and IPv4 hosts to interoperate.                                            A second objective is to allow IPv6                                            hosts and routers to be deployed in                                            the Internet in a highly diffuse and                                            incremental fashion, with few interdependencies.                                            A third objective is that the transition                                            should be as easy as possible for end-                                            users, system administrators, and network                                            operators to understand and carry out.The IPng transition mechanisms are                                              a set of protocol mechanisms implemented                                              in hosts and routers, along with some                                              operational guidelines for addressing                                              and deployment, designed to make transition                                              the Internet to IPv6 work with as                                              little disruption as possible [16].</p>
<p>The IPng transition mechanisms provides                                              a number of features, including:</p>
<ul>
<li>Incremental upgrade and deployment.                                                Individual IPv4 hosts and routers                                                may be upgraded to IPv6 one at a                                                time without requiring any other                                                hosts or routers to be upgraded                                                at the same time. New IPv6 hosts                                                and routers can be installed one                                                by one.</li>
<li>Minimal upgrade dependencies.                                                The only prerequisite to upgrading                                                hosts to IPv6 is that the DNS server                                                must first be upgraded to handle                                                IPv6 address records. There are                                                no pre-requisites to upgrading routers.</li>
<li>Easy Addressing. When existing                                                installed IPv4 hosts or routers                                                are upgraded to IPv6, they may continue                                                to use their existing address. They                                                do not need to be assigned new addresses.                                                Administrators do not need to draft                                                new addressing plans.</li>
<li>Low start-up costs. Little or                                                no preparation work is needed in                                                order to upgrade existing IPv4 systems                                                to IPv6, or to deploy new IPv6 systems.                                                The mechanisms employed by the IPng                                                transition mechanisms include:</li>
<li>An IPv6 addressing structure that                                                embeds IPv4 addresses within IPv6                                                addresses, and encodes other information                                                used by the transition mechanisms.</li>
<li>A model of deployment where all                                                hosts and routers upgraded to IPv6                                                in the early transition phase are                                                &#8220;dual&#8221; capable (i.e. implement                                                complete IPv4 and IPv6 protocol                                                stacks).</li>
<li>The technique of encapsulating                                                IPv6 packets within IPv4 headers                                                to carry them over segments of the                                                end-to-end path where the routers                                                have not yet been upgraded to IPv6.</li>
<li>The header translation technique                                                to allow the eventual introduction                                                of routing topologies that route                                                only IPv6 traffic, and the deployment                                                of hosts that support only IPv6.                                                Use of this technique is optional,                                                and would be used in the later phase                                                of transition if it is used at all.</li>
</ul>
<p>The IPng transition mechanisms ensures                                              that IPv6 hosts can interoperate with                                              IPv4 hosts anywhere in the Internet                                              up until the time when IPv4 addresses                                              run out, and allows IPv6 and IPv4                                              hosts within a limited scope to interoperate                                              indefinitely after that. This feature                                              protects the huge investment users                                              have made in IPv4 and ensures that                                              IPv6 does not render IPv4 obsolete.                                              Hosts that need only a limited connectivity                                              range (e.g., printers) need never                                              be upgraded to IPv6.</p>
<p>The incremental upgrade features                                              of the IPng transition mechanisms                                              allow the host and router vendors                                              to integrate IPv6 into their product                                              lines at their own pace, and allows                                              the end users and network operators                                              to deploy IPng on their own schedules.</p>
<p><a name="CH12"></a><b>12. Why IPng?</p>
<p></b></p>
<p><a name="CH12"></a><b><br />
There are a number of reasons why IPng                                                is appropriate for the next generation                                                of the Internet Protocol. It solves                                                the Internet scaling problem, provides                                                a flexible transition mechanism for                                                the current Internet, and was designed                                                to meet the needs of new markets such                                                as nomadic personal computing devices,                                                networked entertainment, and device                                                control. It does this in a evolutionary                                                way which reduces the risk of architectural                                                problems.                                            </b></p>
<p><a name="CH12"></a><b>                                          </b><a name="CH12"></a><b>Ease of transition is a                                              key point in the design of IPng. It                                              is not something was added in at the                                              end. IPng is designed to interoperate                                              with IPv4. Specific mechanisms (embedded                                              IPv4 addresses, pseudo- checksum rules                                              etc.) were built into IPng to support                                              transition and compatibility with                                              IPv4. It was designed to permit a                                              gradual and piecemeal deployment with                                              a minimum of dependencies.                                            </b></p>
<p><a name="CH12"></a><b>IPng supports large hierarchical                                              addresses which will allow the Internet                                              to continue to grow and provide new                                              routing capabilities not built into                                              IPv4. It has anycast addresses which                                              can be used for policy route selection                                              and has scoped multicast addresses                                              which provide improved scalability                                              over IPv4 multicast. It also has local                                              use address mechanisms which provide                                              the ability for &#8220;plug and play&#8221;                                              installation.                                            </b></p>
<p><a name="CH12"></a><b>The address structure of IPng was                                              also designed to support carrying                                              the addresses of other internet protocol                                              suites. Space was allocated in the                                              addressing plan for IPX and NSAP addresses.                                              This was done to facilitate migration                                              of these internet protocols to IPng.                                            </b></p>
<p><a name="CH12"></a><b>IPng provides a platform for new                                              Internet functionality. This includes                                              support for real-time flows, provider                                              selection, host mobility, end-to-                                              end security, auto-configuration,                                              and auto-reconfiguration.                                            </b></p>
<p><a name="CH12"></a><b>In summary, IPng is a new version                                              of IP. It can be installed as a normal                                              software upgrade in internet devices.                                              It is interoperable with the current                                              IPv4. Its deployment strategy was                                              designed to not have any &#8220;flag&#8221;                                              days. IPng is designed to run well                                              on high performance networks (e.g.,                                              ATM) and at the same time is still                                              efficient for low bandwidth networks                                              (e.g., wireless). In addition, it                                              provides a platform for new internet                                              functionality that will be required                                              in the near future.</b></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=12&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/ipv6-or-ipng-ip-next-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux bash syntax</title>
		<link>http://coroketon.wordpress.com/2008/01/20/linux-bash-syntax/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/linux-bash-syntax/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 07:12:14 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opetaring System]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/linux-bash-syntax/</guid>
		<description><![CDATA[Parameters Shell parameters Variables Environment variables Arrays Array Variables Redirection Spooling to and from files Pipes Redirect the output from one command as input for another Looping constructs: IF THEN ELSE Conditional Execution if Conditionally perform a command for Expand words, and execute commands until Execute commands (until error) while Execute commands The break and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=11&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<pre>  <a href="http://www.ss64.com/bashsyntax/parameters.html">Parameters</a>    Shell parameters
  <a href="http://www.ss64.com/bashsyntax/env.html">Variables</a>     Environment variables
  <a href="http://www.ss64.com/bashsyntax/arrays.html">Arrays</a>        Array Variables
  <a href="http://www.ss64.com/bashsyntax/redirection.html">Redirection</a>   Spooling to and from files
  <a href="http://www.ss64.com/bashsyntax/pipe.html">Pipes</a>         Redirect the output from one command as input for another</pre>
<p>Looping constructs:</p>
<pre>  <a href="http://www.ss64.com/bashsyntax/conditional.html">IF THEN ELSE</a> Conditional Execution
  <a href="http://www.ss64.com/bash/if.html">if</a>           Conditionally perform a command
  <a href="http://www.ss64.com/bash/for.html">for</a>          Expand <var>words</var>, and execute commands
  <a href="http://www.ss64.com/bash/until.html">until</a>        Execute commands (until error)
  <a href="http://www.ss64.com/bash/while.html">while</a>        Execute commands</pre>
<blockquote><p>The <a href="http://www.ss64.com/bash/break.html">break</a> and <a href="http://www.ss64.com/bash/continue.html">continue</a>    builtins may be used to control loop execution.</p></blockquote>
<p>Evaluating expressions:</p>
<pre>  <a href="http://www.ss64.com/bashsyntax/brackets.html">Using brackets</a> to Group and expand expressions
  <a href="http://www.ss64.com/bashsyntax/expcond.html">Conditional</a> expressions
  <a href="http://www.ss64.com/bashsyntax/expmath.html">Arithmetic</a> expressions
  <a href="http://www.ss64.com/bashsyntax/quoting.html">Escape Chars, delimiters and Quotes</a>
  <a href="http://www.ss64.com/bashsyntax/substitution.html">Command Substitution</a></pre>
<p>Working with the bash Shell:</p>
<pre>  <a href="http://www.ss64.com/bashsyntax/vi.html">vi editor</a>     A one page reference to the vi editor
  <a href="http://www.ss64.com/bashsyntax/keyboard.html">Keyboard</a>      Cursor control - Cut &amp; paste
  <a href="http://www.ss64.com/bashsyntax/jobs.html">Job Control</a>   Suspend and resume a process
  <a href="http://www.ss64.com/bashsyntax/prompt.html">Prompt</a>        Prompt variable
  <a href="http://www.ss64.com/bash/rem.html">###</a>           Comment / Remark
  <a href="http://www.ss64.com/bashsyntax/script.html">Scripts</a>       Writing Shell Scripts
  <a href="http://www.ss64.com/bashsyntax/pronounce.html">BashBangSplat</a> Pronunciation guide for unix</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=11&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/linux-bash-syntax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>An A-Z Index of the Linux BASH command line</title>
		<link>http://coroketon.wordpress.com/2008/01/20/an-a-z-index-of-the-linux-bash-command-line/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/an-a-z-index-of-the-linux-bash-command-line/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 07:11:19 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opetaring System]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/an-a-z-index-of-the-linux-bash-command-line/</guid>
		<description><![CDATA[alias Create an alias apropos Search Help manual pages (man -k) awk Find and Replace text, database sort/validate/index break Exit from a loop builtin Run a shell builtin bzip2 Compress or decompress named file(s) cal Display a calendar case Conditionally perform a command cat Display the contents of a file cd Change Directory cfdisk Partition [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=10&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<pre><a href="http://www.ss64.com/bash/alias.html">alias</a>    Create an alias
apropos  Search Help manual pages (man -k)
<a href="http://www.ss64.com/bash/gawk.html">awk</a>      Find and Replace text, database sort/validate/index
<a href="http://www.ss64.com/bash/break.html">break</a>    Exit from a loop
<a href="http://www.ss64.com/bash/builtin.html">builtin</a>  Run a shell builtin
bzip2    Compress or decompress named file(s)

<a href="http://www.ss64.com/bash/cal.html">cal</a>      Display a calendar
<a href="http://www.ss64.com/bash/case.html">case</a>     Conditionally perform a command
<a href="http://www.ss64.com/bash/cat.html">cat</a>      Display the contents of a file
<a href="http://www.ss64.com/bash/cd.html">cd</a>       Change Directory
<a href="http://www.ss64.com/bash/cfdisk.html">cfdisk</a>   Partition table manipulator for Linux
<a href="http://www.ss64.com/bash/chgrp.html">chgrp</a>    Change group ownership
<a href="http://www.ss64.com/bash/chmod.html">chmod</a>    Change access permissions
<a href="http://www.ss64.com/bash/chown.html">chown</a>    Change file owner and group
<a href="http://www.ss64.com/bash/chroot.html">chroot</a>   Run a command with a different root directory
<a href="http://www.ss64.com/bash/cksum.html">cksum</a>    Print CRC checksum and byte counts
clear    Clear terminal screen
<a href="http://www.ss64.com/bash/cmp.html">cmp</a>      Compare two files
<a href="http://www.ss64.com/bash/comm.html">comm</a>     Compare two sorted files line by line
<a href="http://www.ss64.com/bash/command.html">command</a>  Run a command - ignoring shell functions
<a href="http://www.ss64.com/bash/continue.html">continue</a> Resume the next iteration of a loop
<a href="http://www.ss64.com/bash/cp.html">cp</a>       Copy one or more files to another location
<a href="http://www.ss64.com/bash/cron.html">cron</a>     Daemon to execute scheduled commands
<a href="http://www.ss64.com/bash/crontab.html">crontab</a>  Schedule a command to run at a later time
<a href="http://www.ss64.com/bash/csplit.html">csplit</a>   Split a file into context-determined pieces
<a href="http://www.ss64.com/bash/cut.html">cut</a>      Divide a file into several parts

<a href="http://www.ss64.com/bash/date.html">date</a>     Display or change the date &amp; time
<a href="http://www.ss64.com/bash/dc.html">dc</a>       Desk Calculator
<a href="http://www.ss64.com/bash/dd.html">dd</a>       Data Dump - Convert and copy a file
<a href="http://www.ss64.com/bash/ddrescue.html">ddrescue</a> Data recovery tool
<a href="http://www.ss64.com/bash/declare.html">declare</a>  Declare variables and give them attributes
<a href="http://www.ss64.com/bash/df.html">df</a>       Display free disk space
<a href="http://www.ss64.com/bash/diff.html">diff</a>     Display the differences between two files
<a href="http://www.ss64.com/bash/diff3.html">diff3</a>    Show differences among three files
<a href="http://www.ss64.com/bash/dig.html">dig</a>      DNS lookup
<a href="http://www.ss64.com/bash/dir.html">dir</a>      Briefly list directory contents
<a href="http://www.ss64.com/bash/dircolours.html">dircolors</a> Colour setup for `ls'
<a href="http://www.ss64.com/bash/dirname.html">dirname</a>  Convert a full pathname to just a path
<a href="http://www.ss64.com/bash/dirs.html">dirs</a>     Display list of remembered directories
<a href="http://www.ss64.com/bash/du.html">du</a>       Estimate file space usage

<a href="http://www.ss64.com/bash/echo.html">echo</a>     Display message on screen
<a href="http://www.ss64.com/bash/egrep.html">egrep</a>    Search file(s) for lines that match an extended expression
eject    Eject removable media
<a href="http://www.ss64.com/bash/enable.html">enable</a>   Enable and disable builtin shell commands
<a href="http://www.ss64.com/bash/env.html">env</a>      Environment variables
ethtool  Ethernet card settings
<a href="http://www.ss64.com/bash/eval.html">eval</a>     Evaluate several commands/arguments
<a href="http://www.ss64.com/bash/exec.html">exec</a>     Execute a command
exit     Exit the shell
<a href="http://www.ss64.com/bash/expand.html">expand</a>   Convert tabs to spaces
<a href="http://www.ss64.com/bash/export.html">export</a>   Set an environment variable
<a href="http://www.ss64.com/bash/expr.html">expr</a>     Evaluate expressions

<a href="http://www.ss64.com/bash/false.html">false</a>    Do nothing, unsuccessfully
<a href="http://www.ss64.com/bash/fdformat.html">fdformat</a> Low-level format a floppy disk
<a href="http://www.ss64.com/bash/fdisk.html">fdisk</a>    Partition table manipulator for Linux
<a href="http://www.ss64.com/bash/fgrep.html">fgrep</a>    Search file(s) for lines that match a fixed string
file     Determine file type
<a href="http://www.ss64.com/bash/find.html">find</a>     Search for files that meet a desired criteria
<a href="http://www.ss64.com/bash/fmt.html">fmt</a>      Reformat paragraph text
<a href="http://www.ss64.com/bash/fold.html">fold</a>     Wrap text to fit a specified width.
<a href="http://www.ss64.com/bash/for.html">for</a>      Expand <var>words</var>, and execute <var>commands</var>
format   Format disks or tapes
free     Display memory usage
<a href="http://www.ss64.com/bash/fsck.html">fsck</a>     File system consistency check and repair
ftp      File Transfer Protocol
<a href="http://www.ss64.com/bash/function.html">function</a> Define Function Macros

<a href="http://www.ss64.com/bash/gawk.html">gawk</a>     Find and Replace text within file(s)
<a href="http://www.ss64.com/bash/getopts.html">getopts</a>  Parse positional parameters
<a href="http://www.ss64.com/bash/grep.html">grep</a>     Search file(s) for lines that match a given pattern
<a href="http://www.ss64.com/bash/groups.html">groups</a>   Print group names a user is in
<a href="http://www.ss64.com/bash/gzip.html">gzip</a>     Compress or decompress named file(s)

<a href="http://www.ss64.com/bash/hash.html">hash</a>     Remember the full pathname of a name argument
<a href="http://www.ss64.com/bash/head.html">head</a>     Output the first part of file(s)
<a href="http://www.ss64.com/bash/history.html">history</a>  Command History
<a href="http://www.ss64.com/bash/hostname.html">hostname</a> Print or set system name

<a href="http://www.ss64.com/bash/id.html">id</a>       Print user and group id's
<a href="http://www.ss64.com/bash/if.html">if</a>       Conditionally perform a command
<a href="http://www.ss64.com/bash/ifconfig.html">ifconfig</a> Configure a network interface
<a href="http://www.ss64.com/bash/import.html">import</a>   Capture an X server screen and save the image to file
<a href="http://www.ss64.com/bash/install.html">install</a>  Copy files and set attributes

<a href="http://www.ss64.com/bash/join.html">join</a>     Join lines on a common field

<a href="http://www.ss64.com/bash/kill.html">kill</a>     Stop a process from running

<a href="http://www.ss64.com/bash/less.html">less</a>     Display output one screen at a time
<a href="http://www.ss64.com/bash/let.html">let</a>      Perform arithmetic on shell variables
<a href="http://www.ss64.com/bash/ln.html">ln</a>       Make links between files
<a href="http://www.ss64.com/bash/local.html">local</a>    Create variables
<a href="http://www.ss64.com/bash/locate.html">locate</a>   Find files
<a href="http://www.ss64.com/bash/logname.html">logname</a>  Print current login name
<a href="http://www.ss64.com/bash/logout.html">logout</a>   Exit a login shell
<a href="http://www.ss64.com/bash/look.html">look</a>     Display lines beginning with a given string
<a href="http://www.ss64.com/bash/lpc.html">lpc</a>      Line printer control program
<a href="http://www.ss64.com/bash/lpr.html">lpr</a>      Off line print
lprint   Print a file
lprintd  Abort a print job
lprintq  List the print queue
<a href="http://www.ss64.com/bash/lprm.html">lprm</a>     Remove jobs from the print queue
<a href="http://www.ss64.com/bash/ls.html">ls</a>       List information about file(s)
lsof     List open files

make     Recompile a group of programs
<a href="http://www.ss64.com/bash/man.html">man</a>      Help manual
<a href="http://www.ss64.com/bash/mkdir.html">mkdir</a>    Create new folder(s)
<a href="http://www.ss64.com/bash/mkfifo.html">mkfifo</a>   Make FIFOs (named pipes)
mkisofs  Create an hybrid ISO9660/JOLIET/HFS filesystem
<a href="http://www.ss64.com/bash/mknod.html">mknod</a>    Make block or character special files
<a href="http://www.ss64.com/bash/more.html">more</a>     Display output one screen at a time
<a href="http://www.ss64.com/bash/mount.html">mount</a>    Mount a file system
<a href="http://www.ss64.com/bash/mtools.html">mtools</a>   Manipulate MS-DOS files
<a href="http://www.ss64.com/bash/mv.html">mv</a>       Move or rename files or directories

netstat  Networking information
<a href="http://www.ss64.com/bash/nice.html">nice</a>     Set the priority of a command or job
<a href="http://www.ss64.com/bash/nl.html">nl</a>       Number lines and write files
<a href="http://www.ss64.com/bash/nohup.html">nohup</a>    Run a command immune to hangups
<a href="http://www.ss64.com/bash/nslookup.html">nslookup</a> Query Internet name servers interactively

<a href="http://www.ss64.com/bash/passwd.html">passwd</a>   Modify a user password
<a href="http://www.ss64.com/bash/paste.html">paste</a>    Merge lines of files
pathchk  Check file name portability
<a href="http://www.ss64.com/bash/ping.html">ping</a>     Test a network connection
<a href="http://www.ss64.com/bash/popd.html">popd</a>     Restore the previous value of the current directory
<a href="http://www.ss64.com/bash/pr.html">pr</a>       Prepare files for printing
printcap Printer capability database
printenv Print environment variables
<a href="http://www.ss64.com/bash/printf.html">printf</a>   Format and print data
<a href="http://www.ss64.com/bash/ps.html">ps</a>       Process status
<a href="http://www.ss64.com/bash/pushd.html">pushd</a>    Save and then change the current directory
<a href="http://www.ss64.com/bash/pwd.html">pwd</a>      Print Working Directory

<a href="http://www.ss64.com/bash/quota.html">quota</a>    Display disk usage and limits
<a href="http://www.ss64.com/bash/quotacheck.html">quotacheck</a> Scan a file system for disk usage
<a href="http://www.ss64.com/bash/quotactl.html">quotactl</a> Set disk quotas

<a href="http://www.ss64.com/bash/ram.html">ram</a>      ram disk device
<a href="http://www.ss64.com/bash/rcp.html">rcp</a>      Copy files between two machines.
<a href="http://www.ss64.com/bash/read.html">read</a>     read a line from standard input
<a href="http://www.ss64.com/bash/readonly.html">readonly</a> Mark variables/functions as readonly
remsync  Synchronize remote files via email
<a href="http://www.ss64.com/bash/return.html">return</a>   Exit a shell function
<a href="http://www.ss64.com/bash/rm.html">rm</a>       Remove files
<a href="http://www.ss64.com/bash/rmdir.html">rmdir</a>    Remove folder(s)
<a href="http://www.ss64.com/bash/rsync.html">rsync</a>    Remote file copy (Synchronize file trees)

screen   Terminal window manager
scp      Secure copy (remote file copy)
<a href="http://www.ss64.com/bash/sdiff.html">sdiff</a>    Merge two files interactively
<a href="http://www.ss64.com/bash/sed.html">sed</a>      Stream Editor
<a href="http://www.ss64.com/bash/select.html">select</a>   Accept keyboard input
<a href="http://www.ss64.com/bash/seq.html">seq</a>      Print numeric sequences
<a href="http://www.ss64.com/bash/set.html">set</a>      Manipulate shell variables and functions
sftp     Secure File Transfer Program
<a href="http://www.ss64.com/bash/shift.html">shift</a>    Shift positional parameters
<a href="http://www.ss64.com/bash/shopt.html">shopt</a>    Shell Options
<a href="http://www.ss64.com/bash/shutdown.html">shutdown</a> Shutdown or restart linux
<a href="http://www.ss64.com/bash/sleep.html">sleep</a>    Delay for a specified time
<a href="http://www.ss64.com/bash/sort.html">sort</a>     Sort text files
<a href="http://www.ss64.com/bash/period.html">source</a>   Run commands from a file `.'
<a href="http://www.ss64.com/bash/split.html">split</a>    Split a file into fixed-size pieces
<a href="http://en.wikipedia.org/wiki/Secure_Shell">ssh</a>      Secure Shell client (remote login program)
strace   Trace system calls and signals
<a href="http://www.ss64.com/bash/su.html">su</a>       Substitute user identity
<a href="http://www.ss64.com/bash/sum.html">sum</a>      Print a checksum for a file
<a href="http://www.ss64.com/bash/symlink.html">symlink</a>  Make a new name for a file
<a href="http://www.ss64.com/bash/sync.html">sync</a>     Synchronize data on disk with memory

<a href="http://www.ss64.com/bash/tail.html">tail</a>     Output the last part of files
<a href="http://www.ss64.com/bash/tar.html">tar</a>      Tape ARchiver
<a href="http://www.ss64.com/bash/tee.html">tee</a>      Redirect output to multiple files
<a href="http://www.ss64.com/bash/test.html">test</a>     Evaluate a conditional expression
<a href="http://www.ss64.com/bash/time.html">time</a>     Measure Program running time
<a href="http://www.ss64.com/bash/times.html">times</a>    User and system times
<a href="http://www.ss64.com/bash/touch.html">touch</a>    Change file timestamps
<a href="http://www.ss64.com/bash/top.html">top</a>      List processes running on the system
<a href="http://www.ss64.com/bash/traceroute.html">traceroute</a> Trace Route to Host
trap     Run a command when a signal is set(bourne)
<a href="http://www.ss64.com/bash/tr.html">tr</a>       Translate, squeeze, and/or delete characters
<a href="http://www.ss64.com/bash/true.html">true</a>     Do nothing, successfully
<a href="http://www.ss64.com/bash/tsort.html">tsort</a>    Topological sort
<a href="http://www.ss64.com/bash/tty.html">tty</a>      Print filename of terminal on stdin
<a href="http://www.ss64.com/bash/type.html">type</a>     Describe a command

<a href="http://www.ss64.com/bash/ulimit.html">ulimit</a>   Limit user resources
<a href="http://www.ss64.com/bash/umask.html">umask</a>    Users file creation mask
umount   Unmount a device
<a href="http://www.ss64.com/bash/alias.html">unalias</a>  Remove an alias
<a href="http://www.ss64.com/bash/uname.html">uname</a>    Print system information
<a href="http://www.ss64.com/bash/unexpand.html">unexpand</a> Convert spaces to tabs
<a href="http://www.ss64.com/bash/uniq.html">uniq</a>     Uniquify files
<a href="http://www.ss64.com/bash/units.html">units</a>    Convert units from one scale to another
<a href="http://www.ss64.com/bash/unset.html">unset</a>    Remove variable or function names
<a href="http://www.ss64.com/bash/unshar.html">unshar</a>   Unpack shell archive scripts
<a href="http://www.ss64.com/bash/until.html">until</a>    Execute commands (until error)
<a href="http://www.ss64.com/bash/useradd.html">useradd</a>  Create new user account
<a href="http://www.ss64.com/bash/usermod.html">usermod</a>  Modify user account
<a href="http://www.ss64.com/bash/users.html">users</a>    List users currently logged in
<a href="http://www.ss64.com/bash/uuencode.html">uuencode</a> Encode a binary file
<a href="http://www.ss64.com/bash/uuencode.html">uudecode</a> Decode a file created by uuencode

v        Verbosely list directory contents (`ls -l -b')
vdir     Verbosely list directory contents (`ls -l -b')
<a href="http://www.ss64.com/bash/vi.html">vi</a>       Text Editor

<a href="http://www.ss64.com/bash/watch.html">watch</a>    Execute/display a program periodically
<a href="http://www.ss64.com/bash/wc.html">wc</a>       Print byte, word, and line counts
<a href="http://www.ss64.com/bash/whereis.html">whereis</a>  Report all known instances of a command
<a href="http://www.ss64.com/bash/which.html">which</a>    Locate a program file in the user's path.
<a href="http://www.ss64.com/bash/while.html">while</a>    Execute commands
<a href="http://www.ss64.com/bash/who.html">who</a>      Print all usernames currently logged in
whoami   Print the current user id and name (`id -un')
Wget     Retrieve web pages or files via HTTP, HTTPS or FTP

<a href="http://www.ss64.com/bash/xargs.html">xargs</a>    Execute utility, passing constructed argument list(s)
<a href="http://www.ss64.com/bash/yes.html">yes</a>      Print a string until interrupted

<a href="http://www.ss64.com/bash/period.html">.period</a>  Run commands from a file
<a href="http://www.ss64.com/bash/rem.html">###</a></pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=10&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/an-a-z-index-of-the-linux-bash-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>UNIX / Linux Command Summary</title>
		<link>http://coroketon.wordpress.com/2008/01/20/unix-linux-command-summary/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/unix-linux-command-summary/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 07:09:07 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opetaring System]]></category>
		<category><![CDATA[Red hat]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Welcome]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/unix-linux-command-summary/</guid>
		<description><![CDATA[access() Used to check the accessibility of files int Access(pathname, access_mode) Char* pathname; int access-mode; The access modes are. 04 read 02 write 01 execute (search) 00 checks existence of a file &#38; operator execute a command as a background process. banner prints the specified string in large letters. Each argument may be upto 10 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=9&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<table border="0" cellpadding="0" cellspacing="0" width="780">
<tr>
<td height="18">
<table border="0" cellpadding="0" cellspacing="0" width="780">
<tr>
<td bgcolor="#ffffff" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<table border="0" width="100%">
<tr>
<td class="text" valign="top">
<table class="text" align="center" border="0" cellpadding="0" cellspacing="0" width="98%">
<tr>
<td width="65%"><b>access()</b><br />
Used to check the accessibility of files</p>
<p><b>int</b><br />
Access(pathname, access_mode)<br />
Char* pathname;<br />
int access-mode;<br />
The access modes are.<br />
04 read<br />
02 write<br />
01 execute (search)<br />
00 checks existence of a file</p>
<p><b>&amp; operator</b><br />
execute a command as a background process.</p>
<p><b>banner</b><br />
prints the specified string in large letters. Each argument may be upto 10 characters long.</p>
<p><b>break</b><br />
is used to break out of a loop. It does not exit from the program.</p>
<p><b>Cal</b><br />
Produces a calender of the current month as standard output. The month (1-12) and year (1-9999) must be specified in full numeric format.</p>
<p><b>Cal</b> [[ month] year]</p>
<p><b>Calendar</b><br />
Displays contents of the calendar file</p>
<p><b>case operator </b><br />
The case operator is used to validate multiple conditions.</p>
<p><b>Case $string in</b></p>
<p>Pattern 1)<br />
Command list;;<br />
Command list;;</p>
<p>Pattern 3)<br />
Command list;;<br />
easc</p>
<p><b>cat</b><br />
(for concatenate) command is used to display the contents of a file. Used without arguments it takes input from standard input &lt;Dtrl d&gt; is used to terminate input.</p>
<p><b>cat [filename(s)]<br />
</b>cat &gt; [filename]<br />
Data can be appended to a file using &gt;&gt;</p>
<p><!-- google_ad_client = "pub-7966158503848256"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text"; //2007-04-27: 336 x 280 google_ad_channel = "0989555080"; google_color_border = "E6E6E6"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "FFFFCC"; //--> <b>Some of the available options are :<br />
</b>Cat [-options] filename(S)<br />
-s silent about files that<br />
cannot be accessed<br />
-v enables display of non printinging characters (except tabs, new lines, form-</p>
<p><b>feeds)<br />
</b>-t when used with –v, it causes tabs to be printed as ^I’s<br />
-e when used with –v, it causes $ to be printed at the end of each line<br />
The –t and –e options are ignored if the –v options is not specified.</p>
<p><b>cd</b><br />
Used to change directories</p>
<p><b>chgrp</b><br />
Changes the group that owns a file.<br />
Chgrp [grou –id] [filename]</p>
<p><b>chmod</b><br />
Allows file permissions to be changed for each user. File permissions can be changed only by the owner (s).<br />
Chmod [+/-][rwx] [ugo] [filename]</p>
<p><b>chown</b><br />
Used to change the owner of a file.<br />
The command takes a file(s) as source files and the login id of another user as the target.<br />
Chown [user-id] [filename]</p>
<p><b>cmp</b><br />
The cmp command compares two files (text or binary) byte-by-byte and displays the first occurrence where the files differ.<br />
Cmp [filename1] [filename2] -1 gives a long listing</p>
<p><b>comm.</b><br />
The comm command compares two sorted files and displays the instances that are common. The display is separated into 3 columns.<br />
Comm. filename1 filename2<br />
first displays what occurs in first files but not in the second<br />
second displays what occurs in second file but not in first<br />
third displays what is common in both files</p>
<p><b>continue statement</b><br />
The rest of the commands in the loop are ignored. It moves out of the loop and moves on the next cycle.</p>
<p><b>cp</b><br />
The cp (copy) command is used to copy a file.<br />
Cp [filename1] [filename2]</p>
<p><b>cpio(copy input/output)</b><br />
Utility program used to take backups.<br />
Cpio operates in three modes:<br />
-o output<br />
-i input<br />
-p pass</p>
<p><b>creat()<br />
</b>the system call creates a new file or prepares to rewrite an existing file. The file pointer is set to the beginning of file.<br />
#include&lt;sys/tyes.h&gt;<br />
#include&lt;sys/stat.h&gt;<br />
int creat(path, mode)</p>
<p><b>char *path;<br />
</b>int mode;</p>
<p><b>cut</b><br />
used to cut out parts of a file. It takes filenames as command line arguments or input from standard input. The command can cut columns as well as fields in a file. It however does not delete the selected parts of the file.<br />
Cut [-ef] [column/fie,d] filename<br />
Cut-d “:” –f1,2,3 filename<br />
Where –d indicates a delimiter specified within “:”</p>
<p><b>df</b><br />
used to find the number of free blocks available for all the mounted file systems.<br />
#/etc/df [filesystem]</p>
<p><b>diff</b><br />
the diff command compares text files. It gives an index of all the lines that differ in the two files along with the line numbers. It also displays what needs to be changed.<br />
Diff filename1 filename2</p>
<p><b>echo</b><br />
The echo command echoes arguments on the command line.<br />
echo [arguments]</p>
<p><b> env</b><br />
Displays the permanent environment variables associated with a user’s login id</p>
<p><b>exit command</b><br />
Used to stop the execution of a shell script.</p>
<p><b>expr command</b><br />
Expr (command) command is used for numeric computation.<br />
The operators + (add), -(subtract), *(multiplu), /(divide), (remainder) are allowed. Calculation are performed in order of normal numeric precedence.</p>
<p><b>find</b><br />
The find command searches through directories for files that match the specified criteria. It can take full pathnames and relative pathnames on the command line.<br />
To display the output on screen the –print option must be specified</p>
<p><b>for operator</b><br />
The for operator may be used in looping constructs where there is repetitive execution of a section of the shell program.<br />
For var in vall val2 val3 val4;</p>
<p><b>Do commnds; done</b></p>
<p><b>fsck</b><br />
Used to check the file system and repair damaged files. The command takes a device name as an argument<br />
# /etc/fsck /dev/file-system-to-be-checked.</p>
<p><b>grave operator</b><br />
Used to store the standard the output of a command in an enviroment variable. (‘)</p>
<p><b>grep</b><br />
The grep (global regular expression and print) command can be used as a filter to search for strings in files. The pattern may be either a fixed character string or a regular expression.<br />
Grep “string” filename(s)</p>
<p><b>HOME</b><br />
User’s home directory</p>
<p><b>if operator</b><br />
The if operator allows conditional operator</p>
<p><b>If expression; then commands; fi<br />
</b>if … then…else… fi<br />
$ if; then</p>
<p><b>commands<br />
</b>efile; then</p>
<p><b>commands<br />
</b>fi</p>
<p><b>kill</b><br />
used to stop background processes</p>
<p><b>In</b><br />
used to link files. A duplicate of a file is created with another name</p>
<p><!-- google_ad_client = "pub-7966158503848256"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text"; //2007-04-27: 336 x 280 google_ad_channel = "0989555080"; google_color_border = "E6E6E6"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "FFFFCC"; //--> <b>LOGNAME</b><br />
displays user’s login name</p>
<p><b>ls</b><br />
Lists the files in the current directory</p>
<p>Some of the available options are:<br />
-l gives a long listing<br />
-a displays all file{including hidden files</p>
<p><b>lp</b><br />
used to print data on the line printer.<br />
Lp [options] filename(s)</p>
<p><b>mesg </b><br />
The mesg command controls messages received on a terminal.<br />
-n does not allow messages to be displayed on screen<br />
-y allows messages to be displayed on screen</p>
<p><b>mkdir </b><br />
used to create directories</p>
<p><b>more</b><br />
The more command is used to dispay data one screenful at a time.<br />
More [filename]</p>
<p><b>mv</b><br />
Mv (move) moves a file from one directory to another or simply changes filenames. The command takes filename and pathnames as source names and a filename or exiting directory as target names.<br />
mv  [target-file]</p>
<p><b>news</b><br />
The news command allows a user to read news items published by the system administrator.</p>
<p><b>ni</b><br />
Displays the contents of a file with line numbers</p>
<p><b>passwd</b><br />
Changes the password</p>
<p><b>paste</b><br />
The paste command joins lines from two files and displays the output. It can take a number of filenames as command line arguments.<br />
paste file1 file2</p>
<p><b>PATH</b><br />
The directories that the system searches to find commands</p>
<p><b> pg </b><br />
Used to display data one page (screenful) at a time. The command can take a number of filenames as arguments.<br />
Pg [option] [filename] [filename2]…..</p>
<p><b>pipe</b><br />
Operator (1) takes the output of one commands as input of another command.</p>
<p><b> ps</b><br />
Gives information about all the active processes.</p>
<p><b>PS1<br />
</b>The system prompt</p>
<p><b>pwd</b><br />
(print working directory) displays the current directory.</p>
<p><b>rm</b><br />
The rm (remove) command is used to delete files from a directory. A number of files may be deleted simultaneously. A file(s) once deleted cannot be retrieved.<br />
rm [filename 1] [filename 2]…</p>
<p><b>sift command </b><br />
Using shift $1becomes the source string and other arguments are shifted. $2 is shifted to $1,$3to $2 and so on.</p>
<p><b>Sleep</b><br />
The sleep command is used to suspend the execution of a shell script for the specified time. This is usually in seconds.</p>
<p><b>sort</b><br />
Sort is a utility program that can be used to sort text files in numeric or alphabetical order<br />
Sort [filename]</p>
<p><b>split</b><br />
Used to split large file into smaller files<br />
Split-n filename<br />
Split can take a second filename on the command line.</p>
<p><b>su</b><br />
Used to switch to superuser or any other user.</p>
<p><b>sync</b><br />
Used to copy data in buffers to files</p>
<p><b>system0</b><br />
Used to run a UNIX command from within a C program</p>
<p><b>tail</b><br />
The tail command may be used to view the end of a file.<br />
Tail [filename]</p>
<p><b>tar </b><br />
Used to save and restore files to tapes or other removable media.<br />
Tar [function[modifier]] [filename(s)]</p>
<p><b>tee</b><br />
output that is being redirected to a file can also be viewed on standard output.</p>
<p><b>test command </b><br />
It compares strings and numeric values.<br />
The test command has two forms : test command itself If test ${variable} = value then<br />
Do commands else do commands</p>
<p><b>File</b><br />
The test commands also uses special operators [ ]. These are operators following the of are interpreted by the shell as different from wildcard characters.<br />
Of [ -f ${variable} ]</p>
<p><!-- google_ad_client = "pub-7966158503848256"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text"; //2007-04-27: 336 x 280 google_ad_channel = "0989555080"; google_color_border = "E6E6E6"; google_color_bg = "FFFFFF"; google_color_link = "4C4C4C"; google_color_text = "000000"; google_color_url = "FFFFCC"; //-->    <b>Then<br />
</b>Do commands<br />
Elif<br />
[ -d ${variable} ]</p>
<p><b>then<br />
</b>do commands</p>
<p><b>else<br />
</b>do commands</p>
<p><b>fi<br />
</b>many different tests are possible for files. Comparing numbers, character strings, values of environment variables.</p>
<p><b>time</b><br />
Used to display the execution time of a program or a command. Time is reported in seconds.<br />
Time filename values<b><br />
</b><br />
<b> tr</b><br />
The tr command is used to translate characters.<br />
tr [-option] [string1 [string2]]</p>
<p><b>tty </b><br />
Displays the terminal pathname</p>
<p><b>umask</b><br />
Used to specify default permissions while creating files.</p>
<p><b>uniq </b><br />
The uniq command is used to display the uniq(ue) lines in a sorted file.<br />
Sort filename uniq</p>
<p><b>until</b><br />
The operator executes the commands within a loop as long as the test condition is false.</p>
<p><b>wall</b><br />
Used to send a message to all users logged in.<br />
# /etc/wall message</p>
<p><b>wait </b><br />
the command halts the execution of a script until all child processes, executed as background processes, are completed.</p>
<p><b>wc</b><br />
The wc command can be used to count the number of lines, words and characters in a fine.<br />
wc [filename(s)]<br />
<b>The available options are: </b><br />
wc –[options] [filename]<br />
-1<br />
-w<br />
-c<br />
while operator<br />
the while operator repeatedly performs an operation until the test condition proves false.</p>
<p><b>$ while<br />
</b>Ø do</p>
<p><b>commands<br />
</b>Ø done</p>
<p><b>who </b><br />
displays information about all the users currently logged onto the system. The user name, terminal number and the date and time that each user logged onto the system.<br />
The syntax of the who command is who [options]</p>
<p><b>write</b><br />
The write command allows inter-user communication. A user can send messages by addressing the other user’s terminal or login id.<br />
write user-name [terminal number]</td>
<td class="style60" valign="top" width="35%">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top" width="10">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="18">&nbsp;</td>
</tr>
<tr>
<td height="18">
<table border="0" cellpadding="0" cellspacing="0" width="780">
<tr>
<td height="20" valign="top" width="14">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=9&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/unix-linux-command-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>
	</item>
		<item>
		<title>Root Access with sudo and gksudo Root Access with sudo and gksudo</title>
		<link>http://coroketon.wordpress.com/2008/01/20/root-access-with-sudo-and-gksudo-root-access-with-sudo-and-gksudo/</link>
		<comments>http://coroketon.wordpress.com/2008/01/20/root-access-with-sudo-and-gksudo-root-access-with-sudo-and-gksudo/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 06:49:49 +0000</pubDate>
		<dc:creator>petanidigital</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Opetaring System]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://coroketon.wordpress.com/2008/01/20/root-access-with-sudo-and-gksudo-root-access-with-sudo-and-gksudo/</guid>
		<description><![CDATA[ubuntu unlike many distributions does not normally have a user accessible root account. You are supposed to use one of these two commands when you need root access. sudo is for when you are in the terminal and need root access and gksudo is when you are in the GUI and need root access, for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=8&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ubuntu unlike many distributions does not normally have a user accessible root account. You are supposed to use one of these two commands when you need root access. sudo is for when you are in the terminal and need root access and gksudo is when you are in the GUI and need root access, for example you can press alt+f2 and type &#8220;gksudo <span style="font-style:italic;">appname</span>&#8220;.<br />
<span class="fullpost"><br />
If you need a root account for some reason, an easy way to do it is to open up the user account manager by pressing alt+f2 and typing gksudo users-admin.<br />
<a href="http://photos1.blogger.com/blogger/6770/3205/1600/usersadmin.png"><img src="http://photos1.blogger.com/blogger/6770/3205/400/usersadmin.png" style="display:block;text-align:center;cursor:pointer;margin:0 auto 10px;" border="0" /></a><br />
Double click on the root account and you will be presented with this screen.  You may change the root password from there.<br />
<a href="http://photos1.blogger.com/blogger/6770/3205/1600/rootpassword.png"><img src="http://photos1.blogger.com/blogger/6770/3205/400/rootpassword.png" style="display:block;text-align:center;cursor:pointer;margin:0 auto 10px;" border="0" /></a><br />
You may now log in as root. Note that gdm (the login manager for ubuntu) might not let you log in as root so you will have to open the console and login and run &#8220;startx&#8221;.</span></p>
<p>To add new users to sudo, open the terminal and type &#8220;sudo usermod -G admin <span style="font-style:italic;">username</span>&#8220;.  If the user is already a member of other groups, you&#8217;ll want to add the -a option, like so: &#8220;sudo usermod -a -G admin <span style="font-style:italic;">username</span>&#8220;.</p>
<p>If you prefer to use the GUI, open users-admin and double click the user you want to be able to sudo. Under the User privileges tab, check the box that says &#8220;Executing system administration tasks&#8221; and they will be able to sudo.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coroketon.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coroketon.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coroketon.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coroketon.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coroketon.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coroketon.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coroketon.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coroketon.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coroketon.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coroketon.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coroketon.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coroketon.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coroketon.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coroketon.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coroketon.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coroketon.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coroketon.wordpress.com&amp;blog=2565767&amp;post=8&amp;subd=coroketon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coroketon.wordpress.com/2008/01/20/root-access-with-sudo-and-gksudo-root-access-with-sudo-and-gksudo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3c89a615ef1df4198d02d7d00f800ecc?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">petanidigital</media:title>
		</media:content>

		<media:content url="http://photos1.blogger.com/blogger/6770/3205/400/usersadmin.png" medium="image" />

		<media:content url="http://photos1.blogger.com/blogger/6770/3205/400/rootpassword.png" medium="image" />
	</item>
	</channel>
</rss>
