IPv6 or IPng (IP Next generation):

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 the extent that
the original goals of computers as tools of empowerment for individuals seem to have lost
momentum. In turn this frustration has fueled the wish for an alternative which could evolve
through the inclusive and open-ended dynamics of open source development.
At the same time, it is an undeniable truth that while Linux-based server software has matured to
become an integral and vital component of the global information infrastructure, as yet Linux on the
desktop has remained on the periphery. Recently, I initiated a project on behalf of OSAF to take a
careful look at the state of Linux on the desktop, and asked Bart Decrem to spearhead a short-term
research project to assess the current situation and trends.
As you can read, while we do not believe a revolution is in the offing, there is a great deal of good
news about what has already been accomplished, and even more about what is very likely going to be
happening with adoption of desktop Linux, especially considering the situation outside the U.S. A
further piece of good news is that, by and large, there do not appear to be intractable obstacles to the
continuing growth of adoption of Linux as an end-user OS.
I hope readers will find this report timely and valuable. I encourage your feedback, which may be
sent to desktop-linux-report@osafoundation.org.
Mitch Kapor,
Open Source Applications Foundation
July 10, 2003
Desktop Linux Overview
Page 2

CREDITS
Thanks to the numerous individuals who agreed to be interviewed as part of the research for this
document. Their insights and contributions have shaped this document, but the opinions expressed
here and any inaccuracies are of course the sole responsibility of the author.
Particular thanks go out to Waldo Bastian, Liu Bo, Jurgen Botz, Joseph Cheek, Danese Cooper, Laura
DiDio, Matthias Ettrich, Nat Friedman, Dwight G., Jody Goldberg, Joseph Hill, Dan Kusnetzky, Dom
Lachowicz, Havoc Pennington, Michael Robertson, Chris Schlaeger, James Stallings, Tony Stanco,
Michael Tiemann, Seth Vidal, Luis Villa, Daniel Vogelheim, Jeremy White and Mitch Kapor and the
Open Source Applications Foundation.
The most recent version of this document is available at
http://www.osafoundation.org/desktop-linux-overview.pdf.
For all inquiries, comments or suggestions, please send e-mail to
desktop-linux-report@osafoundation.org.
Desktop Linux Overview
Page 3

TABLE OF CONTENTS
1
Executive Summary…………………………………………………………………………………………………………. 5
2
Definitions …………………………………………………………………………………………………………………….. 6
3
The Long Linux March to the Desktop………………………………………………………………………………. 6
4
The Adoption Cycle ………………………………………………………………………………………………………… 7
4.1 Looking back………………………………………………………………………………………………………….. 7
4.2 Factors and trends that are favoring Linux desktop adoption……………………………………….. 7
4.3 The Linux desktop adoption cycle…………………………………………………………………………… 10
5 Desktop Linux: The State of the Product………………………………………………………………………….. 11
5.1 The desktop …………………………………………………………………………………………………………. 11
5.2 The desktop developer platform …………………………………………………………………………….. 12
5.3 Hardware support…………………………………………………………………………………………………. 13
5.4 Core apps: Browser……………………………………………………………………………………………….. 14
5.5 Core apps: PIM……………………………………………………………………………………………………… 15
5.6 Core apps: Productivity suite………………………………………………………………………………….. 15
5.7 Core apps: Instant messaging …………………………………………………………………………………. 16
5.8 Core apps: Multimedia support………………………………………………………………………………. 16
5.9 Other applications…………………………………………………………………………………………………. 16
5.10 Connectivity with Windows ……………………………………………………………………………………. 17
6 The Desktop Linux Eco-system……………………………………………………………………………………….. 18
6.1 Linux distributions………………………………………………………………………………………………… 18
6.2 KDE, GNOME, other desktops platforms………………………………………………………………….. 18
6.3 Open source application developers……………………………………………………………………….. 19
6.4 Commercial end-user ISV community ……………………………………………………………………… 19
6.5 OEMs…………………………………………………………………………………………………………………… 20
6.6 Distribution channels…………………………………………………………………………………………….. 20
6.7 Consortia, other organizations ……………………………………………………………………………….. 21
6.8 News, conferences and support resources ……………………………………………………………….. 22
6.9 Customers ……………………………………………………………………………………………………………. 22
7 Market Adoption…………………………………………………………………………………………………………… 23
7.1 Technical users……………………………………………………………………………………………………… 23
7.2 Transactional workers……………………………………………………………………………………………. 23
7.3 Knowledge Workers………………………………………………………………………………………………. 24
7.4 SMB sector …………………………………………………………………………………………………………… 24
7.5 Education …………………………………………………………………………………………………………….. 25
7.6 Public Sector ………………………………………………………………………………………………………… 26
7.7 Consumers …………………………………………………………………………………………………………… 27
7.8 Non-PC devices …………………………………………………………………………………………………….. 27
7.9 Outside of the United States …………………………………………………………………………………… 28
8 The Future …………………………………………………………………………………………………………………… 30
8.1 Assumptions…………………………………………………………………………………………………………. 30
8.2 Predictions …………………………………………………………………………………………………………… 30
8.3 Leverage points …………………………………………………………………………………………………….. 31
9 Conclusion…………………………………………………………………………………………………………………… 33
Footnotes ……………………………………………………………………………………………………………………………. 34
Desktop Linux Overview
Page 4

1
EXECUTIVE SUMMARY
�Our clients are not asking us to replace all of their Windows desktops. They�re asking us to help
them figure out how they can reduce the number of Windows desktops.�
A few years ago, after several high-profile Linux desktop efforts failed, people were quick to proclaim
the still-born death of Linux on the desktop. Just months later, new commercial Linux desktop
ventures sprang up, the major open source desktop projects (KDE, GNOME, OpenOffice and Mozilla)
all achieved important milestones and the Linux desktop was born again.
This report gives an overview of the state of Linux on the desktop, both from a technology
perspective and in terms of marketplace developments. It concludes that, while much work remains
to be done, desktop Linux is now �good enough� for significant classes of users. We believe that
claims about Linux� fitness or unfitness for desktop use have both been overblown. It is true that
Linux is unlikely to achieve significant adoption by knowledge workers and mainstream consumers,
especially in the United States, over the next few years. It is also true that Linux is already in use by
millions of users around the world, and is likely to find a home on tens of millions of desktops over
the next few years, outpacing the Macintosh OS as the number two desktop operating system.
We believe that initial deployments of Linux on the desktop will focus largely on highly technical
workers, students and transactional workers. The public sector, especially outside of the US, will also
be a major driver of desktop Linux adoption. Massive deployments, ranging for 14,000 government
desktops in Munich to 80,000 PCs for students in Spain, are already under way. Thanks to the
unique nature of open source software, the lessons learned from these initial deployments are likely
to rapidly result in an even stronger Linux desktop. As Hollywood studios migrated to Linux
workstations, for example, one of the studios commissioned an open source company to make
Adobe Photoshop run under Linux. Thanks to the open source development process, all Linux users
can now run Photoshop on their desktop.
Significant pieces of work do remain to be done, especially in terms of providing missing pieces of
desktop foundation infrastructure (such as better support for hardware devices) and providing
improved interoperability between the various major desktop efforts. There are signs that the open
source community will rise to this challenge, further accelerating the momentum of Linux on the
desktop.
While technical challenges remain, we agree with several of the people we spoke with who argued
that desktop Linux has evolved from being a technical challenge to a marketing challenge. Linux is
now good enough for large numbers of people. A key remaining task is to convince buyers to
consider a Linux desktop on its merits. The success stories that will emerge over the next few years
will be an important part of this marketing challenge; market reports such as this one, we hope, will
also help to educate decision makers.
“The desktop is Microsoft’s last stand for near dominance, which will gradually erode with greater
1
awareness of the maturity of Linux desktop offerings.”
Desktop Linux Overview
Page 5

2
DEFINITIONS
Strictly speaking, the Linux project, as overseen by Linus Torvalds, is just the kernel of an operating
system. The entire operating system commonly referred to as Linux could arguably be more
accurately named GNU/Linux, and it includes the Linux kernel along with thousands of tools, drivers,
applications and a graphical user interface. In this document, we use the term Linux in this broader,
more casual, sense.
Open source software is software for which the source code is made available under a license that
allows modifications and redistributions. In this document, we use the term open source software to
include �free software�, which is software released under a more strict set of guidelines created by
the Free Software Foundation.
The scope of this project is �desktop Linux� rather than �open source desktops� because using the
latter terminology is both broader and more restrictive than fits our purposes:
- There are a number of open source operating systems other than Linux, most notably the
FreeBSD operating system, but almost all of the efforts to offer an open source desktop
solution focus on Linux-based operating systems2.
- While it is important that the �platform� pieces of the operating system, upon which
applications are built, be open source, we believe that a healthy software eco-system includes
a thriving community of commercial software vendors. Indeed, one of the weaknesses of the
current Linux desktop offerings is the absence of a strong end-user ISV industry.
THE LONG LINUX MARCH TO THE DESKTOP3
3
The Long Linux March to the Desktop
1991: Linux introduced
1991: Unix X11 GUI framework ported to
Linux
1998-1999: KDE 1.0 & GNOME 1.0 � real
GUI environments for Linux
2001: Ximian Evolution 1.0 � can be
turned into a Microsoft Exchange client
2002: StarOffice 6.0 / OpenOffice 1.0 �
real alternatives to Microsoft Office
2002: Mozilla 1.0 � a competitive browser
2002: KDE 3.0 & GNOME 2.0 � Linux GUIs
become more polished
2003: Munich switches to Linux � The first
big desktop success stories emerge
In China, more than 1 million PCs shipped with Linux preinstalled last year.
Desktop Linux Overview
Page 6

4
THE ADOPTION CYCLE
4.1 Looking back
Many technologies have enjoyed widespread success when a new application was released that
allowed the benefits of the new technology to fully demonstrate themselves. The Macintosh
computer, for instance, started gaining momentum with the release of Adobe Pagemaker and the
postscript printer, creating the desktop publishing industry. Likewise, the Internet was used only in
academic and technical circles until the release of the Mosaic web browser. As a result, some people
believe that the emergence of a �killer app� will be critical to broader desktop adoption of Linux.
Examining the adoption of Linux servers reveals a different dynamic of adoption, bearing some
striking similarities to the adoption cycle of the personal computer: from the edge towards the
center. First adopted on the fringes of the enterprise, Linux is now well on its way to the center of
the enterprise, the data-center. Until around 1997, Linux use was largely restricted to researchers,
scientists, �hackers� (enthusiasts) and users in the academic communities. The dot-com boom lead
to much broad adoption of Linux servers, with ISPs and dot-coms leading the way. Linux was
typically deployed �on the edge� for mail, web, DHCP or DNS servers, for instance. Medium-sized
and larger corporations started deploying Linux also as departmental file- and print-servers. Having
proven its reliability as a reliable, cost-effective work-horse, Linux is now being deployed more
centrally. It is increasingly used as the basis for databases, application servers, and is even beginning
to support the ERP and CRM applications at the center of the data-center. In a February study by
IDC, 14% of respondents indicated that they were supporting database software on Linux, versus 2%
who reported supporting ERP or CRM applications.
While web- and mail-server applications could be described as �killer apps� for the Linux server,
Linux has always been more of a Swiss-army knife. Its real advantages have been the broad range of
available tools and applications, similarity to UNIX, broad implementation of open standards and
protocols, low deployment cost, and, perhaps most importantly, the thriving community of users and
developers and the rapid cycle of bug fixes and innovation that flow from the open source nature of
the OS. Open source has been the real killer feature of Linux, and will continue to be as Linux takes
hold on the desktop, with early adopters solving problems they encounter and contributing those
changes back to all users using the open source development process.
4.2 Factors and trends that are favoring Linux desktop adoption
We do not believe that there will be a killer app that will propel Linux desktop adoption. For one
thing, innovative applications, especially open source ones, tend to be network-oriented and can be
relatively easily ported to different operating systems. Instead, we believe that a number of factors
and trends will lead to more broad-based adoption of Linux as a client user environment. It remains
to be seen what the relative strength of these factors will be, and how powerful their cumulative
impact will be.
Desktop Linux Overview
Page 7

4.2.1 The success of Linux as a server computing platform
As Linux proves itself as a server operating system and the Linux eco-system grows, existing and
potential customers begin to consider it more seriously for the desktop as well.
4.2.2
The emergence of credible desktop offerings, including the availability of solid productivity
applications that interoperate with their Windows counter-parts
The KDE and GNOME desktops have reached a level of maturity where they offer an acceptable end-
user experience. The availability of strong cross-platform application suites, including the
Mozilla/Netscape browser suite and the OpenOffice/StarOffice office suite, complemented with other
core productivity applications that interoperate and offer a similar user-interface to their Windows
counterparts, such as Ximian�s Evolution PIM suite, are the cornerstones of a credible desktop
offering. The availability of client software allowing users to access their organization�s transactional
applications is the next critical step. Less visible to most users, but critical to people with disabilities
and to government adoption of Linux on the desktop, is the progress that, notably, the GNOME
project has made in the area of accessibility, which is the reason that the Department of Defense is
now able to consider Linux as a desktop alternative.
4.2.3 The commodification of the operating system
There have been few dramatic changes on the desktop in recent years. Many users feel that the
desktop and the office productivity suites are essentially �done�: they are mature products that work
reasonably well. As a result, consumers and corporate users alike are increasingly reluctant to
upgrade their software. With the phase of rapid innovation essentially over, the desktop operating
system is becoming a commodity product. The increasingly web-centric nature of computing also
contributes to the commodification of the OS: the OS is becoming less important for some users than
the web browser, for instance. These factors make it easier for alternatives such as Linux-based
desktops to catch up in terms of the functionality and the user experience they offer, and provide a
�good enough� alternative for many users. Microsoft and other stakeholders, such as OEMs, will
make efforts to fight this trend but, unless a new killer application appears that dramatically raises the
stakes in terms of desktop software requirements, their efforts to sell upgrades to their existing
customers will increasingly meet with resistance from end-users, especially in tough economic times.
4.2.4 Structural challenges for the monopoly provider
Facing market penetration reaching saturation levels in the most lucrative markets, and pressure to
maintain an astronomic market capitalization that is fueled by expectations of continued rapid
revenues growth, Microsoft may have little choice but to resort to increasingly aggressive upgrade
strategies (such as its new licensing practices) for the desktop operating system and productivity suite
that bring in the bulk of its revenues, encouraging customers to look for cheaper replacements for
commoditized software. This may have been the reason for Microsoft�s Licensing 6.0 and the
subsequent changes in their business practices.
4.2.5 The falling cost of personal computers
With new computers now for sale at Walmart and elsewhere for less than $200, the cost of the OS
and other bundled Microsoft software has become the most expensive component of a PC. Vendors
operating on razor-thin margins and price-conscious customers will naturally look to save on the
most expensive components.
Desktop Linux Overview
Page 8

In June, 2003, the regional government of Extremadura, Spain, announced the deployment of
4
80,000 Linux desktops in local schools .
4.2.6 Centralization and more server centric computing (including Net-centric computing)
Facing a long and deep economic slump, and with some analysts claiming that the competitive
advantages of IT investments have been oversold, IT managers are under pressure to rationalize their
computing infrastructure. Manageability issues and more network-centric operations are leading
many to take another look at server-centric computing, including thin clients, at the same time that
more enterprise applications are deployed as web applications. Consumers, for their part, are
spending an increasing fraction of their time in front of the computer online, in chat rooms and
destination web sites, rather than using client-based applications such as word processing.
Conceived as a network operating system, featuring a number of solid web browser alternatives and
with an increasing number of terminal emulation and other virtualization solutions, Linux stands to
gain from these changes.
4.2.7
Increasing concerns by corporations and public institutions about being beholden to a
monopoly supplier, and a desire for open standards and a level playing field
Many people have serious misgivings about their ability to maintain access to their data if that data is
encoded in closed, binary files. As one writer put it:
�We continue to live in a world where all our know-how is locked into binary files in an unknown
format. If our documents are our corporate memory, Microsoft still has us all condemned to
5
Alzheimer’s.”
One concern is the ability in future years to access documents in by then obsoleted file formats.
Office 2000 no longer natively supports the ability to read ten year old Office 4.0 documents. Ten
years is a long time for a consumer, but it�s a heartbeat for the archivists and librarians who help
public and private sector companies develop their data management strategies. In some countries,
the medical and legal communities require archival access for longer periods of time. Another oft-
cited concern is the ability to extract data from corrupted binary documents.
A greater concern to US buyers and, even more so, public and private institutions abroad, is the
tremendous reliance on an aggressive monopoly provider for critical and costly pieces of the
computing infrastructure. Buyers, especially large, institutional buyers, want choice and control.
Deploying Linux in and of itself provides them with both: it increases their choices and gives them
more control: open source solutions don�t provide a vendor with a proprietary lock-in (witness the
number of vendors offering OpenOffice-based productivity suites) and a buyer who deploys Linux in
their enterprise finds itself instantly in a much stronger bargaining position with Microsoft and able
to get more favorable treatment.
Public institutions must additionally consider the policy considerations that public funds should as
much as possible be used on technologies that support open standards, help maintain national
sovereignty, and nurture the local IT industry.
4.2.8 Anti-piracy efforts
According to the Business Software Alliance, 94% of software installed in China in 2000 was pirated6.
Things have gotten slightly better since then, but even so, seven out of ten million PCs shipped in
Desktop Linux Overview
Page 9

China last year shipped without a licensed operating system. As China and other developing
countries crack down on software piracy, people will switch from pirated software to the most
inexpensive legal solution. It comes as no surprise therefore that Red Flag Linux, the leading Linux
distribution in China, came pre-installed on more than a million desktop computers last year.7
More Linux desktops are shipping this year than Mac OS desktops
4.3
The Linux desktop adoption cycle
Phase 1: Highly technical
Phase 2: Transactional
Phase 3: Knowledge workers,
users
workers, web-centric
small businesses, mainstream
consumers
consumers
Engineers,
Call-Center staff,
Managers,
System Administrators,
Point of Sale workers,
Marketing staff,
Scientists,
Car Dealers,
Business owners,
Content creators …
Data Entry workers …
Reporters …
Now
Starting in 2004
No major adoption in the US
until 2007, if then
Broad-scale adoption of Linux
Significant adoption of Linux
Some adoption of Linux
4.3.1 Phase 1: Highly technical users
Linux is already widely used as a workstation by computer programmers, system administrators,
Hollywood animators, graduate students, and researchers in the sciences and other highly technical
users. This class of Linux desktop users is mainly migrating from UNIX workstations.
4.3.2 Phase 2: Transactional workers, web-centric consumers
Many workers use only a very limited number of computer applications. Their workflow and job
responsibilities are well defined. Substantial cost-savings can be realized by moving these workers to
a computing platform that�s �locked down� (ie. can�t be changed by the user), free from viruses and
other security risks and can be centrally administered. In Europe, pilot projects to deploy Linux for
these types of transactional workers are already under way, and the all-important early success stories
will become public later this year. US companies are, generally speaking, a little behind their
European peers, so we expect that high-profile customer success stories are, for the most part, still 18
months or so away.
Web-centric consumers are another group of users for whom Linux may be an appropriate desktop
solution. People who just want a cheap computer that allows them to browse the Internet, play music
and check e-mail may be attracted to $200 computers running the Lindows or Lycoris Linux
operating system.
4.3.3 Phase 3: Knowledge workers, small businesses, mainstream consumers
We believe it will take at least another four years before significant numbers of knowledge workers,
small businesses and mainstream consumers adopt Linux, for reasons discussed below.
Desktop Linux Overview
Page 10

We believe that Linux adoption outside of the US will mostly follow the same adoption cycles as
adoption in the US. However, it is quite possible that Linux adoption on the desktop will take place
more quickly, and in greater numbers, outside of the US. For instance, while enterprises in the US
are just now planning their Linux pilot projects, their European counter-parts may be already well
into these projects. There are also countries where Microsoft Office�s market penetration is not as
high as in the US (Germany or Korea, for instance). Knowledge workers there may be more likely to
convert to Linux. In developing countries, including Thailand and Brasil, government initiatives to
support low-priced PCs for low-income citizens may boost Linux adoption among consumers.
In addition, there is a likelihood that Linux may be the more or less hidden OS on a broad range of
less traditional computing devices � and one of those devices may become the killer device8 that puts
Linux in the hands of millions of consumers. This includes devices like TiVO, the Zaurus PDA etc.
5
DESKTOP LINUX: THE STATE OF THE PRODUCT
�Bill Gates was the first to realize the power of �good enough.� We don�t have to offer the perfect
desktop environment, just one that�s good enough for most people.�
5.1 The desktop
There are two main desktop environments for Linux, KDE and GNOME. Both are fully open source
and include a desktop environment, file manager, a number of administration tools, a set of
applications ranging from simple games to integrated web browsers and full-fledged office
productivity suites (in the case of GNOME, Ximian offers a version of OpenOffice that has been
integrated with the rest of the desktop environment; the KDE organization offers its own office suite,
KOffice) and a set of libraries and tools that help programmers develop applications for these
desktop platforms. Ximian also offers a desktop updater called Red Carpet9.
KDE and GNOME have both reached relatively mature status: these desktop environments still lack
some of the polish of Windows XP or Mac OS X, but they are reasonably polished and stable, and
include at least as many end-user applications as the main commercial desktop operating systems.
Each of the desktop projects claims that their project offers an easier migration path for Windows
users. The reality is that both projects behave slightly differently from Windows, but both can be
easily themed and configured to look, feel and behave quite similarly to Windows. While they can
also be made to look very similar to OS X, few would argue that either project comes, as of yet, close
to offering the same polished, integrated look and feel and ease of use.
Some people believe that the existence of two competing desktop environments creates confusion in
the minds of users. While this may be true, neither project is likely to disappear anytime soon: each
project has a significant base of developers and users, with GNOME more prevalent in the US due to
favored treatment by Red Hat and Ximian�s efforts to polish this product, and KDE more popular in
Europe, where SuSE, which has invested more energy in polishing KDE, has a greater marketshare.
Competition also has its positives, encouraging both projects to improve and adopt the best features
of the other. Red Hat has focused on creating a unified look and feel for both KDE and GNOME, to
the point that the user can hardly tell which environment they are in. Recently, the two projects have
Desktop Linux Overview
Page 11

pursued somewhat diverging strategies, with the GNOME project developing comprehensive user
interface guidelines and focuses on developing a simple, elegant solution and removing some of the
unlimited configurability that has long been a hallmark of open source projects, while the KDE
project continues to offer its users an almost infinite number of configuration option. This
divergence gives uses a richer choice, with different projects suiting the needs of different types of
users. Increased cooperation between the two main desktop projects makes it easier for users to
�mix and match� applications built for different desktop environments.
In sum, the two desktop environments are here to stay, but, encouragingly, they are pursuing
somewhat different visions, resulting in more meaningful choice for users. It is also becoming easier
to use applications built for GNOME with KDE, and vice versa.
Bottom line:10 :)
5.2 The desktop developer platform
KDE and GNOME are not just end-user desktops with assorted utilities, they are developer platforms,
offering tools and development libraries to people who want to develop applications for these
platform. Unlike Windows or the Macintosh OS, which each provide one desktop platform with a
unified look and feel and one dominant developer environment, the existence of multiple desktop
platforms for Linux, along with the small market share of the Linux desktop, has lead to a
proliferation of desktop developer platforms on Linux, including not just KDE and GNOME but also
WINE, a set of libraries that allow Windows applications to either run unmodified on Linux or be
easily ported to Linux, and OpenOffice and Mozilla, which each come with their own programming
environments. These platforms are not all equivalent, and each have their own reason for being, but
the resulting heterogeneity makes it hard to offer a consistent end-user environment and can be
bewildering for developers considering porting their applications to Linux.
It should be pointed out that efforts such as Galeon, the Mozilla-based web browser for GNOME, and
Ximian�s integration of OpenOffice into GNOME have risen to the challenge of integrating the Linux
desktop. But many other end-user applications, from Adobe Acrobat, to Real Player, to, obviously,
Microsoft Office running under CrossOver Office, or any application that�s either running under
WINE (Adobe Photoshop) or has been ported to Linux using the WINE libraries (IBM Home Page
Builder), presents the same challenge, ensuring that offering a truly integrated Linux desktop will
continue to be a challenge for years to come.
With no easy solution to this problem in sight, collaboration between the various projects and joint
efforts at a lower level of the desktop stack �somewhere between the kernel and the desktop
platforms� will be a key to the viability of the Linux desktop.
Desktop Linux Overview
Page 12

On the positive side, there are a number of solutions that make it easy to build cross-platform
applications:
- Qt, a cross-platform toolkit, supports Linux, UNIX, Windows and OS X;
- The WINE libraries can ease the migration of Windows applications;
- Borland�s Kylix development tools for Linux make it very easy to port applications from
Windows and Delphi 7: porting can be as simple as recompiling applications with Kylix;
- wxWindows is an open source, cross-platform native UI framework used, among others, by
OSAF�s Chandler project;
- Java applications will run on Linux, UNIX, Windows, Macintosh and embedded devices.
�There is technology to write code once and to deploy on Windows, Linux, UNIX and the Macintosh
platforms with little extra cost. Companies that plan to use heterogeneous desktops in the future, or
even intend to switch totally, could start preparing today, either by developing against cross-platform
APIs or by requiring their contractors to develop against cross-platform APIs.� - Matthias Ettrich
Bottom line: :|
5.3
Hardware support
5.3.1 Main devices
Linux can be easily installed on most desktop computers sold by major vendors these days, thanks to
solid device support in the Linux kernel and with leading Linux distributions offering easy to use
graphical installer software that features good automated hardware detection. It can still be a
challenge, however, to install Linux on many popular laptops. Power management or screen
brightness adjustment, for instance, are poorly supported on many laptops. And if the Linux installer
doesn�t identify the floppy drive or CD/DVD reader in a laptop�s docking station, installing Linux can
quickly become a daunting task.
This is more of a problem for reviewers (including, significantly, reporters and IT decision-makers)
then for most average end-users, since few users ever attempt the daunting task of installing an OS on
a computer. Enterprise users get their computers from system administrators who can either
purchase systems with Linux pre-installed or who have a centralized system that automates the
process of installing operating systems on a PC. Average home users, of course, use the operating
system that came pre-installed when they purchased their computer.
Bottom line: Desktop computers: :)?| Laptops: :|
5.3.2 Peripheral devices
Peripheral device support has gotten a lot better on Linux, with software such as CUPS offering an
abstraction layer that can identify and support a broad range of printers. Support for USB devices is
also becoming more common on Linux. As a result, an enterprise looking to deploy hundreds of
Linux desktops can easily purchase systems and peripheral devices that will be fully supported on
Linux.
Desktop Linux Overview
Page 13

Still, too many devices remain unsupported or poorly supported on Linux. A consumer trying to
make his MP3 player, DVD burner, storage peripheral, scanner, webcam, PDA or camcorder work
under Linux is likely to give up in despair. Drivers may not be available for Linux. Some devices
require recompiling the operating system�s kernel. Devices that have been mounted onto the kernel
may not automatically appear on the desktop. End-user applications may not recognize all the
available devices. Graphical installation software for printers may not offer �discovery� of devices,
graphically displaying which computers are available on the network, and which devices are available
on each computer.
In sum, while it may be true that Linux already supports a broader range of peripheral devices then,
say, the Macintosh platform, it is too often a lot harder (to put it mildly) for a Linux desktop user to
install and get access to critical peripheral devices and a significant amount of work remains to be
done before peripheral device support on Linux will be acceptable for a mainstream consumer.
Some of the work needs to be done by device vendors, some of it by the Linux vendors, some of it by
the maintainers of end-user applications.
One of the people we spoke with, Red Hat�s Havoc Pennington, has proposed a hardware abstraction
layer which would manage all the peripheral devices installed on a computer and provide an easy
way for applications to recognize and support the relevant devices. Havoc�s proposal is available at
http://ometer.com/hardware.html.
Bottom line: Enterprise users: :|?| Home users: :(
5.4 Core apps: Browser
There are three mature (families of) web browsers available for Linux users: Mozilla and Mozilla-
based browsers such as Galeon, Konqueror (the rendering engine of which is also used in Apple�s
Safari browser) and the commercial Opera browser. Each of these browsers (in the case of
Konqueror, the browser�s rendering engine) gets the majority of its users not from Linux users but
from Windows or Macintosh users, so that the adoption of these browsers is not limited by the size of
the desktop Linux market. Linux users can also run Internet Explorer under CrossOver Office.
While some sites don�t display correctly on the browsers that are available to Linux users, the vast
majority do. Plug-ins for the major multimedia file formats also work correctly under Linux. As a
result, with some exceptions, Linux users in the US have few significant problems accessing web sites.
In Asia, the situation is somewhat different. Many popular sites are targeted and tested only on
Internet Explorer and do not work at all with other browsers. For example, popular music sites in
Korea use embedded Windows Media players and only run on Internet Explorer � and Internet
Explorer for Windows, for that matter.
Microsoft�s recent announcement that they will drop support for Internet Explorer on the Macintosh
is good news for Linux desktop users. It means that large web sites that want to serve Macintosh
users will have no choice but to test their sites on Safari, leading to more standards-compliant web
sites. And since many web designers develop sites on the Macintosh, they are also more likely to
Desktop Linux Overview
Page 14

build more standards-compliant sites. This will benefit not just the Konqueror browser, but Mozilla,
and all alternative browsers.
On the other hand, America Online�s renewed partnership with Microsoft, as part of which AOL will
continue to use Internet Explorer for years to come, raises renewed questions about the future of the
Netscape browser.
Bottom line: US users: :)?| Users in Asia: :(
5.5 Core apps: PIM
Ximian�s Evolution PIM suite deliberately mimics the look, feel and functionality of Microsoft
Outlook, adding in powerful additional functionality such as vFolders. Evolution can also
interoperate in a Windows environment, acting as an Exchange client for Exchange 2000 servers. The
KDE project and the Mozilla suite also offer PIM functionality.
Chandler, an innovative PIM project currently under development at the Open Source Applications
Foundation, has been designed to perform equally well under Linux, Windows and OS X.
The weakness of all of these projects is that they do not interoperate with all versions of Microsoft
Exchange (Exchange 5.0, for instance, is not supported by Ximian Evolution) and do not always easily
synchronize with PDAs, cell phones, popular web portals etc.
Bottom line: Standalone users: :)?| Users who interoperate with Exchange or use PDAs etc: :|
5.6 Core apps: Productivity suite
OpenOffice and StarOffice, the commercial version, are by far the leading productivity suite on Linux,
but there are other choices. Corel continues to offer WordPerfect on Linux. The KDE project offers
KOffice. AbiWord and Gnumeric, while less integrated than KOffice and OpenOffice, have also
emerged as mature projects that provide good, modular applications that serve their target market
and in many regards compare favorably to OpenOffice and even Microsoft Office.
After more than 10 years of development, OpenOffice is a complete, mature product that adequately
reads and writes most Microsoft Office files11, and the version released by Ximian as part of the
Ximian Desktop 2.0 integrates reasonably well with the rest of the Linux desktop.
Fairly aggressive marketing of StarOffice, which also runs under Windows and a number of other
operating systems, by Sun Microsystems, combined with resistance towards Microsoft�s newest
licensing schemes have lead industry analysts to conclude that StarOffice is likely to capture up to
10% of the office productivity suites market by 200712.
Still, while OpenOffice boasts a feature set that meets and, in some cases, exceeds Microsoft Office,
Microsoft Office offers a far more polished user interface and user experience than its open source
competitor. The icons and templates that ship with OpenOffice lag behind those provided by
Microsoft Office and more work remains to be done for OpenOffice to smoothly integrate into the
Desktop Linux Overview
Page 15

Linux desktop. Also, while the licensing by SuSE and Ximian of commercial fonts that mimic the
main Windows fonts, has made it a lot easier to correctly display Windows documents on Linux, file
incompatibilities continue to be a concern for knowledge workers looking for an alternative.
�The last mile for OpenOffice/StarOffice still needs to be funded by someone.�
We anticipate that it will take at least two more years before the industry press and other opinion
leaders declare OpenOffice �compatible� with Microsoft Office, assuming that Microsoft does not
create significant new file-format obstacles to its challengers (a risky assumption given the company�s
past practices). To be fair, even Microsoft doesn�t achieve perfect compatibility between different
versions of Microsoft Office. The OS X version of Microsoft Word, Word 2000 for Windows and the
Word Reader software all have slight incompatibilities, not that dissimilar from the problems
OpenOffice users face.
Bottom line: Transactional workers: :)?| Knowledge workers: :(
5.7 Core apps: Instant messaging
GAIM, one of the leading open source instant messaging products, supports AIM, Yahoo Messenger,
MSN and ICQ. GNOME Meeting is compatible with Microsoft Meeting (if you can get your webcam to
work under Linux). The open source Jabber instant messaging system shines on Linux. In sum,
instant messaging is one of the areas where Linux shines.
Bottom line: :)
5.8 Core apps: Multimedia support
Flash, Adobe Acrobat and Realplayer are all available under Linux. Windows Media Player and
Quicktime can be run using CrossOver Plugin. Still, multimedia support is problematic for many
Linux desktop users, with MIME type settings confusing under most environments and many popular
sites, such as Yahoo�s video services, not working on Linux without major tweaking. Part of this is
due to patents conflicting with the GPL and being generally unfriendly to open source, an issue that
looms over other parts of Linux as well.
Bottom line: :|
5.9 Other applications
While there are thousands of applications available for free under Linux, few popular commercial
consumer titles are available on Linux. There is financial management software available for Linux
users, but not Quicken or Microsoft Money. Most popular games are not available on Linux,
although a company called TransGaming Technologies has made hundreds of leading Windows
games run properly under Linux based on WINE.
The reality is that the best effort to offer a consumer catalog of end-user applications, Lindows� Click
& Run Warehouse, is still a somewhat drab affair when compared to the aisles of commercial software
Desktop Linux Overview
Page 16

available to Windows users. This situation is unlikely to improve for several years. Even if Linux
secures a larger place of the desktop market than the Macintosh OS, many of these desktop users are
likely to be transactional workers, not consumers who purchase lots of commercial applications. It
should also be pointed out that the Macintosh ISV industry is tiny when compared to the Windows
ISV community. When consumer applications are ported to Linux, they are likely to be ported using
the WINE libraries, and look and feel like Windows applications, integrating poorly with the rest of
the Linux desktop.
Nonetheless, as a practical matter the continued improvement of WINE and the WINE libraries will
continue to be important for gamers and other consumers wishing to move to Linux.
Fortunately, applications are increasingly moving to the web. Consumers playing games on Yahoo,
or enterprise workers running Java applications in a web browser may find Linux to be a fine client
platform in most cases.
Bottom line: :(
5.10 Connectivity with Windows
There are any number of ways for Linux users to interoperate with Windows users:
- Dual booting: Linux and Windows partitions can be installed on the same computer,
allowing the user to choose at start-up time which OS they wish to boot in;
- Network access: Linux users can more or less readily access Windows network volumes
using the SMB protocol. Lycoris, Lindows and Ximian users, for instance, have access to a
GUI network device utility that is very similar to My Network Places under Windows,
allowing them to easily access Windows volumes;
- Virtual machines: solutions like VMWare and Win4Lin allow Linux users to install Microsoft
Office as a virtual machine, and run Windows, complete with any Windows application, in a
window on their Linux desktop;
- Terminal servers: products such as Citrix�s Linux client or Tarantella�s Enterprise 3 allow
Linux users to remotely run Windows applications in a window on their Linux desktop;
- Windows emulation: WINE and its commercial offspring, CrossOver Office/Plugin and
WineX allow users to run Windows applications as-is under Linux. This works great for
Microsoft Office, Internet Explorer, Windows Media Player, and Adobe Photoshop, for
instance. Other applications, including Macromedia Dreamweaver, almost work � these
applications either crash occasionally, or are lacking specific functionality (such as FTP
support in Dreamweaver);
- File format compatibility/functional equivalents: As discussed above, applications such as
Ximian Evolution and OpenOffice offer varying degrees of file format compatibility, cloned
functionality or ability to integrate in a Windows environment.
All in all, there is an impressive range of connectivity solutions for Linux users who need to
interoperate with Windows users. These solutions go a long way towards solving the compatibility
problem for Linux.
Bottom line: :)
Desktop Linux Overview
Page 17

6
THE DESKTOP LINUX ECO-SYSTEM
Above, we reviewed the functionality and competitiveness of the different parts of the Linux desktop
stack. In this section, we take a look at the health of the different parts of the Linux desktop �eco-
system� � largely, we examine the availability of a critical mass of development activity at the different
levels.
6.1 Linux distributions
The Linux project lead by Linus Torvalds is not an operating system. It is the kernel of an operating
system. Linux vendors such as Red Hat and open source efforts such as the Debian project, focus on
offering complete operating systems, which include hundreds of drivers, utilities, development tools
and both server- and end-user applications.
While Red Hat is the global leader in the Linux industry by a significant margin, it has a healthy
number of competitors, including SuSE and MandrakeSoft in Europe, Red Flag Linux, Turbo Linux,
and Hancom Linux in Asia and Connectiva in Latin America. Thanks to the open source nature of the
OS, there are few barriers to entry, and there are customized Linux distributions for numerous
countries and user profiles. In the US, for instance, many universities maintain their own Linux
distributions, often derivatives of Red Hat Linux with just minor modifications.
There are also a number of open source collaborations that produce Linux distributions, most
prominently the Debian and Gentoo projects.
Debian, it so happens, is also the basis for two of the most visible desktop-oriented Linux
distributions, Lindows and Xandros.
While a number of Linux distributions have gone out of business or are struggling financially, and
while Red Hat is increasingly emerging as the global brand leader, there is a rich ecosystem of Linux
distributions that each meet unique niches.
These projects compete in the market place, but there is often close cooperation at the engineering
level, and there are some business partnerships (eg. United Linux).
Bottom line:13 :)
6.2 KDE, GNOME, other desktops platforms
KDE and GNOME are the leading open source desktop projects. Each of them counts hundreds of
volunteers developers, supplemented by tens of employees contributing to the projects on behalf of
companies with a vested interest in Linux (SuSE, Ximian, Sun Microsystems etc.). In addition to KDE
and GNOME, there are a number of smaller desktop efforts. Most of these focus on delivering a
desktop, as opposed to the full desktop environment (including developer platform and suite of end-
user applications).
Desktop Linux Overview
Page 18

Both KDE and GNOME continue to sport a lively community and significant market place
momentum. Neither project is likely to disappear, and there is no real prospect of the two projects
�merging�. Each of the projects has ensured corporate sponsorships including, in the case of
GNOME, a paid staff position, that help the projects organize developer conferences and the like.
There are also increasing efforts to improve interoperability between the two environments, so that
users can mix and match applications from both platforms without sacrificing a consistent
experience.
Likewise, other development platforms such as WINE, OpenOffice and Mozilla, have each succeeded
in attracting a critical mass of developers and users.
Bottom line: :)
6.3 Open source application developers
The Sourceforge project has made a significant contribution to the way open source applications are
developed, offering a suite of tools to develop software in a collaborative fashion. The site hosts tens
of thousands of open source projects, the best of which rapidly gain popularity as word spreads
throughout the online communities of Linux users.
The tools and infrastructure offered by Sourceforge are supplemented by other major projects, such
as Mozilla, the Linux kernel project, OpenOffice, GNOME and KDE. These large-scale projects
incubate tools such as Bugzilla and serve as training grounds or reference points for individual
developers who strike out and start their own projects.
The combined toolsets, know-how and open source code base are hard to match and explain to a
large extent Linux�s success as a server operating system.
There are also thousands of open source end-user applications. However, if we look beyond the
leading projects, we find a set of applications with often incomplete feature sets or unpolished,
inconsistent user interfaces. This is hard to remedy in an open source settings, where applications
are typically developed by programmers wishing to �scratch an itch,� as opposed to entrepreneurs
itching to meet a need and make a buck. One noteworthy development in this regard are the
GNOME project�s user interface guidelines. All of the GNOME applications have benefited from these
guidelines, which may make an important contribution to the establishment of a collection of
applications and utilities that share a uniform and consistent user interface.
Bottom line: quantity: :)?| quality: :|
6.4 Commercial end-user ISV community
There is no end-user Linux ISV industry to speak of. The leading consumer desktop applications for
Linux are either open source (Mozilla, OpenOffice) or Linux ports of free utilities (Adobe Acrobat,
Realplayer, Flash).
Desktop Linux Overview
Page 19

The small number of commercial desktop applications for Linux are mostly connectivity building
blocks (CrossOver Office, Lin4Win) or inexpensive ports that use the WINE libraries (IBM Home Page
Builder). TheKompany and Hancom Linux are exceptions, struggling to build a viable business
offering end-user software to Linux users.
It is unclear whether this situation will ever really change. It should be noted that even the
Macintosh ISV community appears to be steadily shrinking, with more and more OS X software
developed by individual developers or small businesses on a shareware model. In the case of Linux,
even if desktop adoption does continue to increase, we predict that the majority of users will be in
the enterprise, education and public sectors, and are likely to rely on open source applications,
specialized enterprise applications and web-based applications, leaving few opportunities for a
desktop ISV community.
In view of the limited market potential, we predict that most consumer software for Linux will
continue to use WINE libraries. The cross-platform Qt toolkit, combined with Borland�s cross-
platform developer suite may be a logical choice for enterprise applications.
Fortunately, the absence of a significant range of commercial end-user desktop applications does not
spell the failure of Linux on the desktop.
Bottom line: :(
6.5 OEMs
Hundreds of white-box vendors ship PCs that come with Linux pre-installed. Lindows alone claims to
have signed up more than 100 such OEM partners.
Some leading US OEMs offer workstations or desktops with Linux pre-installed, mostly outside of the
United States. Some leading OEMs outside the US also ship Linux desktop systems. Still, in view of
Microsoft�s tremendous power over OEMs, mostly through joint marketing and discount programs,
major OEMs will continue to be very reluctant to put real muscle behind Linux-based desktops until
there is a clear demand for these systems. After all, they stand to lose tens (if not hundreds) of
millions of dollars in Microsoft marketing funds and discounts.
Vendors have made important contributions to the Linux desktop though. For instance, Sun
Microsystems played a critical role in adding accessibility (�Section 508�) technology to the GNOME
desktop, which is the reason, for example, that the US Department of Defense is even able to
consider Linux on the desktop.
Bottom line: :|
6.6 Distribution channels
Like OEMs, PC retailers stand to gain a lot if Linux emerges as a real competitor on the desktop. All
of them devote a significant amount of their shelf space to Microsoft products, some (including Best
Buys and, in California, Fry�s Electronics) also offer house-brand PCs.
Desktop Linux Overview
Page 20

Like OEMs, retailers are wary of falling from Microsoft�s good graces, as they too stand to lose
millions of dollars in marketing dollars and promotions. There are some notable exceptions to this
rule, such as Walmart and TigerDirect, each of which offer both systems without operating systems
and Linux-based desktops.
With commercial applications lacking, and OEMs and retailers relunctant to embrace Linux desktops,
it is easy to see why it will take years before consumers start adopting Linux in meaningful numbers.
Bottom line: :(
6.7 Consortia, other organizations
United Linux, the most high profile industry alliance uniting Germany�s SuSE, Brazil�s Connectiva,
US-based SCO Group and Turbo Linux in an effort to offer a unified Linux distribution that could
become a real standard, has suffered severe setbacks lately as Turbo Linux withdrew from the US
market and SCO Group abandoned its Linux products as part of its lawsuit against IBM.
There are a number of other collaborative efforts in the Linux community that, while less high-
profile, are each making meaningful contributions to Linux� long-term success, including success on
the desktop:
- Open Source Development Labs (OSDL): a joint effort between a number of industry
leaders, including Dell, Fujitsu, Hitachi, HP, IBM and Intel, OSDL focuses on improving
Linux as an enterprise-grade operating system. The organization recently made the news
when it recruited Linus Torvalds as its first fellow, allowing Linus to finally dedicate his full-
time efforts to the Linux kernel;
- The Linux Standards Base: a working group of the Free Standards Group, this is an effort
to create a standard to which all Linux distributions adhere, allowing software developers to
build applications that will install and run on any LSB-compliant distribution. The first
version of the LSB has been adopted, and LSB-compliant distributions (including Red Hat
Linux) are now available;
- The GNOME Foundation: while this organization does include an industry advisory board,
the foundation is mostly a governing body for the GNOME project. The foundation�s board
of directors, elected by GNOME contributors, oversees GNOME releases and sets strategy for
the project, helping keep this super-sized �project of projects� moving in one direction;
- The KDE League: the KDE League focusing mostly on PR activities for the KDE project;
- Freedesktop.org: an informal collaboration, mostly between GNOME and KDE developers,
that has already lead to improved interoperability between these two desktop environments;
- GWU�s Center on Cyber-Studies: affiliated with George Washington University, this think-
tank has recently added a number of open source leaders to its advisory organization. The
center has organized several conferences on Linux in Government which are important
forums for public-sector officials interested in Linux and open source;
- Consumer Electronics Linux Forum14: a new industry consortium that includes
Matsushita, Sony, Hitachi, NEC and other consumer electronics companies that want to
collaborate on making Linux more appropriate for consumer electronics devices through
Desktop Linux Overview
Page 21

joint development in areas such as improved boot-up time and better performance in digital
video recorders.
OpenForum Europe: a subsidiary of technology lobbyist InterForum that aims to persuade
-
businesses around Europe of the benefits of open source software, and to level the playing
field for open source when it comes to government procurement.
In sum, there are a number of organizations where stakeholders can work together to address issues
that need to be resolved in order to ensure broader adoption of Linux. These organizations also
contribute to Linux� success on the desktop.
Bottom line: :(
6.8 News, conferences and support resources
There is a broad range of information materials available to people interested in Linux, ranging from
publications such as Linux Journal and Linux Magazine to news sites such as Linuxworld, Linux
Today, Linux Weekly News and Slashdot. People interested in Linux on the desktop can go to
Desktoplinux.com, among others.
There are also a number of Linux trade shows and conferences, including Linux World, Linux Tag,
Ottowa Linux Symposium, Enterprise Linux forums, the GNOME project�s GUADEC conference, the
Open Sources conference, Lindows� Desktop Linux Conference and more.
Most importantly, perhaps, there are hundreds of Linux Users Groups, mailing lists and message
boards where Linux users can go for help. The mailing lists and message boards offer an unmatched
online support system that allows Linux experts to solve their problems. Many of these lists, however,
are inaccessible to end-users, given the often cryptic and jargon-laden way in which the experts offer
assistance. End-user oriented businesses, and Lindows in specific, do offer lively discussion boards
that solely focus on helping end-users, but finding simple, end-user oriented answers to user-space
questions such as �My DVD burner doesn�t work. What do I do?� can be a daunting task in the Linux
world.
Bottom line: :|
6.9 Customers
While Linux has achieved near-mainstream adoption as a server operating system, these are still very
much the early days of Linux desktop adoption. Most Linux adoption continues to take place among
highly technical users. As a result, there is a lack of success stories about Linux adoption on the
desktop and, for average consumers, there is no critical mass of peers who are using Linux. The
emergence of enterprise, public sector and SMB success stories will be critical to Linux� success on
the desktop.
Bottom line: :(
Desktop Linux Overview
Page 22

7 MARKET ADOPTION
Last July, IDC released a report on Linux desktop adoption where it anticipated an installed base of
9.5 million Linux desktop for 2003, a number it expects to grow to 27.8 million desktop users by
2006 (versus 9 million Linux servers). IDC predicts a CAGR of 44% for desktop Linux over the next 4
years and, by 2006, a marketshare of 7% of the installed base and 10% of new unit shipments.
According to IDC, Linux desktop shipments outstripped Macintosh shipments in 2002. By 2006,
Linux will likely have a larger installed base than the Macintosh OS.
We should remind readers that counting Linux adoption is an inexact science at best due to the open
source nature of the OS: people can download Linux from any number of mirror web sites, burn and
redistribute their own CDs, or install Linux on thousands of desktops across an enterprise from a
single purchased copy. Also, IDC�s surveys indicate that Linux users tend to upgrade their systems at
a much higher rate than users of other operating systems. Still, the general picture is clear: Linux is
already in use by millions of users and these numbers will continue to increase rapidly, with industry
analysts seeing Linux take up anywhere between 7% and 20% of the installed base by the end of the
decade, and Linux outpacing the Macintosh OS as the alternative to Windows on the desktop over the
next few years.
7.1 Technical users
Linux has already made significant strides in gaining over technical users such as engineers, system
administrators, scientists, 3D animators etc. As these users deploy Linux, they often end up making
contributions that benefit all Linux users, paving the way for the next wave of Linux adoption.
Example: Dreamworks� new Sinbad: Legend of the Seven Seas was entirely created on Linux
15
workstations and rendering machines . Dreamworks uses about 1000 Linux workstations.
Industrial Light & Magic has also switched to Linux workstations, and Disney is deploying Linux
as well. Hollywood animation studios often deploy Linux-based render farms and follow that up
with Linux workstations for the designers. Some of the studios even take advantage of unused
CPU cycles on the workstations to have them contribute to rendering jobs during designers� lunch
breaks. One of the studios asked CodeWeavers for help in making Adobe Photoshop run under
Linux. With CodeWeavers contributing all their code back to the WINE project, all Linux users
are now able to run Adobe Photoshop under Linux, another example of the open source network
effect.
7.2 Transactional workers
Many workers use only a very limited number of computer applications. Their workflow and job
responsibilities are well defined. Customer support staff, bank tellers, sales reps, administrative staff
or even many lawyers spend almost all of their time using just a few applications and don�t need the
ability to run arbitrary third-party applications. Substantial cost-savings can be realized by moving
these workers to a computing platform that�s �locked down� (ie. can�t be changed by the user), free
from viruses and other security risks and can be centrally administered. The ability to save hundreds
of dollars on each workstation by using open source software is a secondary advantage. Training
costs, while significant, are not necessarily a blocker for Linux.
Example: 2% of the American workforce works in in-house or outsourced call-centers. These are
the people that answer the phone when you call a customer service number. We talked to an IT
Desktop Linux Overview
Page 23

manager at one of the nation�s largest credit card companies. He�s currently rolling out Linux as
the desktop platform for hundreds of technical workers in his firm. Once Linux has proven itself
for that class of workers, he wants to convert several thousand call center workstations to Linux-
based thin-clients. Terminal servers such as Citrix and open source tools such as RDesk will
allow him to deploy Windows applications to these Linux clients, but his real goal is to convert the
legacy Windows client applications used in the call center to Java applications that will be
delivered to a Mozilla web browser on Linux. He plans to use almost exclusively open source
software such as Mozilla and OpenOffice and isn�t worried about technical support: �IBM, HP,
Red Hat and SuSE would all be delighted to provide support for us.� And if call center staff can�t
install their favorite IM software or MP3 player, that�s fine for the IT manager, since it makes life
easier for his system administrators.
Example: An IT manager at one of the leading IT outsourcing companies told us he wasn�t
worried about training costs. When his firm signs up a new client, the company may hire
hundreds of new employees for engagements lasting at least six months. The new agents go
through a six-week training period. The least of his training challenges is teaching workers how
to use the desktop environment. Getting to know the hundreds of obscure features of the custom
software that each client provides is a lot more challenging. The big challenge is making the new
employees intimately familiar with this custom software so they can provide professional
assistance to customers.
7.3 Knowledge Workers
We believe it will take at least another four years before significant numbers of knowledge workers in
the US adopt Linux, for a number of reasons:
- Exchanging documents with the rest of the world is not an occasional task for them, it is the
lifeblood of their livelihood. �OpenOffice will properly display almost any PowerPoint
presentation� is just not good enough for them;
- They want and need the ability to install arbitrary applications on their system. They may
have an application or macro they�ve relied on for the last 10 years that they never want to
give up;
- They�ve fine-tuned their desktop and developed work-habits on their computer that suit
them perfectly. They�re in no hurry to give up a trusted, proven OS for something new and
experimental that was developed by a group of hackers that creates features that �scratch an
itch,� as opposed to in response to market research. In Neil Stephenson�s words, they may
not want these �freaks� coming to their house16. And they�re not impressed by an
application that has �all the features and more� of the application they�re familiar with, if it
lacks the polish and integration they�ve gotten used to;
- The software cost is relatively small compared to the value-add of these workers.
7.4 SMB sector
At least one analyst is upbeat about Linux prospects in the small and medium-sized business sector
(SMB). Based on her customer research, Laura DiDio at the Yankee Group believes that these
businesses are ready to move to Linux for a couple of reasons:
- The transition to another desktop is easier and less traumatic than at larger companies, and
decisions can be made more quickly;
- Small businesses are most sensitive to cost issues than large enterprises;
Desktop Linux Overview
Page 24

-
Linux has proven itself as a server operating system, and applications such as StarOffice help
position Linux as a credible desktop platform.
According to Ms. DiDio, the main concerns for these businesses are:
- Clearly understanding the TCO of Linux versus Windows;
- Clearly understanding transition and retraining issues;
- Having a reliable source of support.
HP�s recent announcement of a line of affordable desktops with Linux pre-installed that are geared at
small businesses also points to small business interest in Linux desktops17.
In response, the Yankee Group is preparing a set of documents that help businesses in the SMB
sector understand TCO, transition and retraining issues, so that they can make an informed decision
about whether to transition to Linux.
According to this analysis, there could be a significant opportunity for desktop Linux companies like
Xandros, Lycoris or Lindows to offer tools that assist companies in transitioning to Linux and provide
24/7 support for Linux. Lindows, in particular, with its network of OEM partners, may be well
equipped to tap into this opportunity since it already has partners (white-box vendors) in the field
whose customers, in many cases, are the SMBs Ms. DiDio is talking about.
Still, we believe that significant SMB adoption of Linux desktops remains elusive for now, for much
the same reasons that we believe that knowledge workers� move to Linux is at least several years
away:
- Concerns about file-format compatibility. Document exchange with suppliers and customers
is mission-critical to many small businesses;
- Less narrowly-defined job descriptions and fewer training opportunities mean that SMBs are
more reliant on their employees� ability to maintain their own systems and are less open to
deploying non-mainstream applications;
- They may not have access to in-house technical support, so they�re much more careful about
deploying experimental technologies, and more reliant on technical support provided by
ISVs. CrossOver Office does a great job running Microsoft Office, but SMBs will worry
whether Microsoft will provide assistance if something goes wrong (probably not).
7.5 Education
Like small businesses, educational institutions are very price-sensitive. Like enterprises, they are
relatively centralized institutions. At first glance, this would seem to indicate that they hold great
promise for Linux. There are significant opportunities, but Linux is not the right solution for every
educational institution.
In the K-12 sector, there are major obstacles to broad-based desktop Linux adoption. Cash-strapped
schools and other educational institutions are eager to realize cost-savings. On the other hand, they
are reluctant to train students on non-mainstream tools and K-12 institutions in particular rely largely
on educational software that is not currently available on Linux. In K-12 institutions, maintaining
computers often depends on the ingenuity of teachers, students and volunteers, who are most likely
Desktop Linux Overview
Page 25

not familiar with Linux. Nonetheless, there is a community of K-12 educators that focuses on
introducing open source solutions to elementary and secondary schools, at SchoolForge18. And, of
course, there are major deployments taking place outside of the United States, such as the
deployment of 80,000 Linux desktops in Spanish schools.
Things look more promising in universities and colleges:
- Many universities are traditionally UNIX shops that have started to migrate much of their
server infrastructure to Linux running on PCs, in order to save costs. System administrators
may be reluctant to become beholden to Microsoft. Many campuses have active Linux Users
Groups that are advocates for broader Linux adoption;
- Graduate students and faculty in the sciences are already using Linux workstations in large
numbers. If they�re not, they probably log on to UNIX or Linux computing systems to run
simulation and other computationally intense tasks. When this type of deployment of Linux
workstations reaches critical mass, entire departments may standardize on Linux. The
department, in turn, serves as a test-bed and model for other departments;
- Data archivists on campus technology policy committees worry about the ability to access old
documents as technology evolves. Techies on the committee worry about open standards
more generally. They may work together to recommend Linux desktop deployments to
managers eager to save money. And many universities are quite centralized, with central
technology offices able to impose standards and practices campus-wide.
As a result, we predict that, over the next 2 years, there will be an increasing number of desktop
Linux deployments on universities. Many of these deployments will happen in sciences departments.
We expect one of the drivers of this development to be a movement towards open file formats. We
expect that a number of universities will respond to librarians� and IT staff�s concerns about open file
formats by standardizing on open file formats for data interchange. The most likely beneficiary of
these policies is likely to be the OpenOffice suite. We believe that more and more universities will set
up OpenOffice in public access computer labs and making the application available to their students.
While initial deployments of OpenOffice will mostly happen on the existing Windows computers,
once students switch to OpenOffice, a major barrier to Linux adoption has been removed.
Example: The Physics department at Duke is almost exclusively Linux based. Approximately
100 graduate students, faculty and even administrative staff, do their work on Linux desktops.
When necessary, the administrative staff boots up VMWare to run Microsoft Office. �Having
administrative staff run MS Office using VMWare on Linux is a lot more secure and easier to
administer then if we were running Windows desktops,� boasts the department�s system
administrator. Like many other universities, Duke maintains its own Linux distribution based on
Red Hat Linux. One of the sysadmins at the university also maintains Yum, a modified version of
the Yellow Dog Updater that is used, among others by the ASPLinux distribution.
7.6 Public Sector
There are a wealth of Linux success stories in the public sector, mostly on the server side.
Governments around the world are studying open source and promoting the adoption of Linux
among public sector companies and agencies in a number of ways. Public sector consideration of
open source alternatives often includes exploring the use of Linux on the desktop. We expect the
public sector to be one of the major drivers of desktop Linux adoption.
Desktop Linux Overview
Page 26

Success stories of Linux desktop deployments in government agencies in the United States are now
emerging. The City of Largo in Florida, where several hundred desktops were switched to Linux, is
one of the most high-profile cases here. While there have been several promising developments at
the federal level, it is at the municipal level that Linux desktops are most likely to be deployed in the
US. As noted by Tom Adelstein in his review of Linux efforts by state and local governments19, the
Business Software Alliance, Initiative for Software Choice, Computing Technology Industry
Association, American Electronics Association and Association for Competitive Technology all actively
lobby against state initiatives to promote open source, including proposed legislation in Oregon and
Texas.
20
Example: City of Largo : In 2001, the Florida city of Largo switched from aging terminals to a
thin-client environment based on Linux. Today, 5 people support more than 450 clients and over
800 users. The thin clients can be bought new for around $750 but are often purchased used for
as little as $5 each. The network is powered by several Compaq servers running Red Hat Linux
and the Oracle database. Clients run a KDE desktop, but can run Excel and Powerpoint thanks
to Citrix System�s Metraframe Windows 2000 terminal server. As noted earlier, the availability of
terminal servers that can provide Linux clients with access to Windows applications is key to
many organizations moving to thin Linux desktops.
21
Example: City of Houston : After failing to negotiate an acceptable license agreement with
Microsoft, the City of Houston this January started phasing out Microsoft Office in favor of
SimDesk, a web-based office suite offered by a local company. While SimDesk is being
deployed on Windows, the move away from Microsoft Office as part of a thin-client solution is a
good example of the search for alternatives coinciding with renewed interest in thin client
solutions. As recently reported in Linux Journal, the migration is progressing smoothly and the
22
city is now exploring Linux-based alternatives .
7.7 Consumers
We believe that mainstream consumers in the US are least likely to adopt Linux as a desktop
operating system. The absence of Linux desktops offered by mainstream vendors, scarcity of end-
user applications, poor support for peripheral devices, the remaining lag in user-friendliness and the
poor availability of end-user documentation and technical support will conspire against broad-based
Linux adoption by consumers for a number of years to come.
There may be a limited demand for Linux-based alternatives by a relatively small-number of web-
centric consumers who just want an inexpensive computer that offers Internet access and multimedia
support.
7.8 Non-PC devices
Linux is likely to continue to be deployed as the operating system of choice for a growing range of
non-PC devices, ranging from kiosks, web terminals, digital video recorders and PDAs to cell phones.
In some cases, the use of Linux in these devices will help strengthen Linux as a desktop alternative.
The development and deployment of Linux-based kiosks and web terminals may lead to
contributions to Linux desktop projects, web browsers etc. If a Linux-based web-browser secures a
significant user base, that well help ensure that web sites will run properly on Linux.
Desktop Linux Overview
Page 27

In other cases, the underlying OS of popular new devices is likely to have relatively few benefits for
desktop users. Linux� use for devices such as TiVo or the Danger hybrid cell-phone/PDA has few
short-term benefits for desktop Linux users, but helps build momentum for the platform overall and
may result in code contributions to Linux.
Example: On July 1, 2003, a group of leading consumer electronics companies announced the
creation of the Consumer Electronics Linux forum to adapt and advance Linux for use in
consumer electronics. Its efforts to improve Linux� boot-up time and video performance may well
benefit all Linux desktop users.
7.9 Outside of the United States
The dynamic of Linux adoption in the US and Europe is very similar, with Linux adoption in Europe
recently appearing to advance at a more rapid pace than in the US. Outside of the US and Europe,
Linux adoption, including on the desktop, holds even more promise, for a number of reasons:
- As a result of education efforts by a number of different organizations, governments are
increasingly sensitive to the importance of open standards;
- The public sector, businesses and consumers alike are much more price-sensitive in
developing countries than consumers in the US and Western Europe;
- Anti-piracy efforts force people to obtain legitimate copies of software, and Linux is available
free of charge;
- A desire by many governments to support a fledgling local software industry and control
their own IT future;
- Especially in the wake of the Iraq war, there is an increased weariness of a United States
perceived by people throughout the world as heavy-handed and controlling. People and
governments around the world are eager to have a greater degree of independence when it
comes to maintaining their IT infrastructure, rightly regarded as a critical part of their
economic infrastructure. Many governments are wary about backdoors and other hidden
features in technology that�s controlled by US corporate interests;
- A smaller installed base means that it is easier to adopt non-Microsoft PCs.
While in some countries in Europe (eg. Germany), enterprises are leading the way for Linux
adoption, the public sector is often driving Linux desktop adoption outside of the United States.
Publics sector efforts range from studies that evaluate the state of open source, to directives that open
source be considered where appropriate, to actual deployments.
Example: In India, IBM recently launched its first Linux desktop computer, the $850 NetVista A30
and a Washington-based startup called Linare is targeting its $200 Linux desktop largely at the
Indian market. India�s President Abdul Kalam recently confronted Microsoft Chairman Bill Gates,
telling him that open source offers important security benefits and that open source offers
23
developing nations such as India the best opportunity to modernize.
“The Indian market is going to be very price-sensitive. And they may be less (concerned about)
compatibility, since they don’t have as huge an infrastructure tied into Windows. And despite a large
middle class, Indians don’t buy as many computers as do United States residents. They’re called the
software powerhouse of Asia, but they take only 2 million units a year” - IDC analyst Roger Kay24.
Desktop Linux Overview
Page 28

�In India, open-source code software will have to come and stay in a big way for the benefit of our
billion people.”25
Example: One year ago, the German Minister of the Interior signed an agreement with IBM for
the advancement of open source software in the administration. Over the last year, the number
of migrations to open source has increased dramatically. The Federal Cartel Office, the
Monopoly Commission, the Federal Commission for Data Protection and the Institute of Animal
Experiments have all partially or entirely converted their IT infrastructure to Linux and other open
26
source projects. A total of 500 public agencies have applied to join the outline agreement .
Example: The most high-profile Linux desktop deployment to date was announced on May 28,
2003, when the city council of Munich, Germany�s third largest city, approved the Mayor�s
27
proposal to migrate 14,000 desktops and notebook computers to Linux .
“In the public sector in Germany we have seen a variety of new implementations of open standards-
based software such as Linux. And worldwide, more than 75 IBM government customers–including
agencies in France, Spain, UK, Australia, Mexico, the United States and Japan–have now embraced
open computing and Linux to save costs, consolidate workloads, increase efficiency and enact e-
28
government transformation.� - Walter Raizner, Country General Manager IBM Germany
Example: In Thailand, the Information, Communications and Technology Ministry recently
launched a plan to offer up to one million low-priced PCs. To date, more than 160,000 of these
computers, loaded with a Thai version of Linux, have been sold. 30,000 people showed up for
the launch event of this initiative. Microsoft responded by offering a $35 version of Microsoft XP
29
and Office for the Thai market. OpenOffice reports that a Thai derivative of OpenOffice has
sold 1 million copies.
The deployment of large numbers of low-cost Linux desktop computers doesn�t always lead to an
increase in the number of Linux users. As was pointed out by Gartner analyst Dion Wiggins,
�Thailand is a market where pirated software is freely available. It’s to be expected that a significant
number of buyers of the Linux PCs will go home and reload them with a pirated copy of Windows.”30
More generally, there is a risk that poorly planned, poorly supported, government-mandated
deployments of Linux will fail, causing disillusioned end-users to wipe their hard drives, install a
pirated version of Windows, and tell their friends never to try Linux. This is why analysts such as
Tony Stanco caution against mandated Linux deployments, arguing instead in favor of education and
training efforts and efforts to �level the playing field.�
Desktop Linux momentum outside of the U.S.
14,000 seats Munich city government
80,000 seats Schools in Extremadura, Spain
1,000,000 seats People�s PCs in Thailand
Desktop Linux Overview
Page 29

8
THE FUTURE
8.1
Assumptions
-
The economic environment will moderately improve over the next two years. A continued
slump would further accelerate the deployment of Linux on the desktop: the longer than
expected economic downturn is already driving enterprises and public agencies to look
harder at their IT budgets and consider inexpensive alternatives;
-
There will be no major discontinuity in the ability of Linux productivity software to read or
write Microsoft Office documents. If Microsoft were to totally break with its current default
file formats, that could set back file format compatibility. This is quite unlikely though, given
customer pressures that Microsoft is facing. Conversely, if Microsoft�s move to XML-based
file formats were to make it dramatically easier to offer file compatibility, that would benefit
Linux, as it would remove the biggest single obstacle to broader Linux adoption. This, too, is
unlikely. Based on early reviews of Microsoft Office 2003, OpenOffice developers claim that
when saving documents in XML format, Office 2003 strips XML files of all presentation and
formatting information31;
-
Despite intense lobbying efforts and aggressive price cuts, Microsoft will not be able to stop
the flood of government-led efforts around the world to promote the adoption of Linux on
the desktop, since cost considerations are just one of the motivations for these efforts;
-
Microsoft will try to avoid repeating marketing blunders like the introduction of its new
licensing scheme, but will continue to aggressively steer increasingly reluctant enterprises to
upgrade their desktop software. Now that the Linux desktop has matured, companies will
be much more willing to consider moving to Linux if Microsoft commits further major
blunders in the way it maintains its relationships with major enterprises;
-
There will be no dramatic changes in desktop computing over the next few years;
-
The SCO lawsuit against IBM will be resolved in a way that does not jeopardize the future of
Linux;
-
It will take several more years for WINE to be able to run the majority of third party Windows
applications flawlessly. As discussed below, an acceleration of the development of WINE
could remove, or at least reduce, one of the major obstacles to consumer adoption of Linux.
8.2
Predictions
- Responding to efforts such as the People�s PC project in Thailand, Microsoft will dramatically
cut prices in selected developing countries. Microsoft has incentives to aggressively cut
prices in some parts of the world: offering lower-cost versions of its software not only helps
beat back Linux-based desktops, it may also benefit the bottom-line, even in the long term.
The incidence of software piracy in developing countries is very high, often more than 90%,
so the company can increase revenues if, by dramatically lowering its prices, it can boost
legitimate installations. Making its software more affordable is a way to combat piracy and
maintain its dominance in the desktop market;
- The Linux desktop will continue its current pace of gradual improvements and will be
increasingly perceived as a reasonably mature, �good enough� alternative to Windows;
- Within the next four years, Linux may achieve as much as 10% market share worldwide on
the desktop and will account for an even larger percentage of new shipments;
Desktop Linux Overview
Page 30

-
Linux desktop deployment will first happen outside of the United States and will be fueled to
a significant extent by public sector deployments similar to recent moves in Munich,
Extremadura and Thailand;
-
Linux desktops will be adopted in enterprise environments over the next four years, but, in
the United States, almost exclusively by highly technical workers and transactional workers;
-
Linux adoption by a significant number of consumers and productivity workers in the US is
at least four years away;
-
The success of Linux on the desktop will not lead to the emergence of a significant consumer
ISV industry over the next few years. This is one of the factors holding back consumer
adoption of Linux and there is no easy solution to this chicken and egg problem.
8.3
Leverage points
�Much of the work that remains to be done are things that have either fallen through the cracks (they
don�t fall within the domain of any of the big, successful projects) or require the larger projects to
32
work together. �
There is no single major factor that will �make or break� desktop Linux adoption. Linux will be
adopted for different reasons by different classes of users in different parts of the world. The
obstacles and benefits are different for each class of users. But the principal requirements for modest
Linux success on the desktops are now in place. A lot of work remains to be done, and we believe
that most of these tasks will get done over the next few years. Below is a list of some leverage points
for Linux desktop adoption: developments that can accelerate the adoption of Linux on the desktop,
and remaining barriers to broader deployment.
8.3.1
A strengthened desktop foundations layer that can provide the missing common
infrastructure that the major open source desktops need to rely on, along with standards
and joint projects that improve interoperability between major desktop platforms
There are not just two Linux desktop platforms, there are at least four: KDE, GNOME, OpenOffice
and Mozilla. Each of these big, successful projects includes a vibrant community of developers, is an
umbrella to a significant number of projects, and is built on a different toolkit. And, of course,
OpenOffice and Mozilla are cross-platform projects whose users primarily run the Windows operating
system.
Following is a partial list of foundational work that needs to take places to further advance the Linux
desktop33:
- A hardware abstraction library that makes peripheral devices available to applications and
end-users;
- Improved cut-and-paste and drag and drop support across the various desktop platforms;
- A universal MIME system;
- A universal configuration/manageability framework;
- A common end-user document filing system (~/Desktop, ~/Documents, etc.);
- An improved sound and multimedia framework (including sound server);
- A universal virtual file system so that the same URIs are known to all applications (currently,
the list of available file systems may differ from one application to another);
Desktop Linux Overview
Page 31

-
Improved accessibility;
-
Help indexing;
-
A process spanning multiple desktop projects for interaction and UI-design.
Tackling these and other remaining challenges to offering a competitive, integrated Linux desktop
may be best taken on by a new effort that brings together people from the different desktop-related
projects.
8.3.2
Emergence of an open, XML-based file format that becomes widely recognized as an
alternative to the Microsoft Office file formats
The availability of a rich, open and XML-based file format standard for productivity applications will
be a major boost for Linux desktop adoption. An effort is under way at OASIS to develop a formal
standard, largely based on the OpenOffice file format. This standard is expected to be adopted by the
end of the year. Development, adoption, and implementation of the standard by OpenOffice and
other Linux productivity applications will offer librarians, data archivists, policy makers and other
interested parties an open alternative that they can adopt as a standard for document exchange in
government, educational institutions and elsewhere.
8.3.3
Further improvements to the Microsoft Office filters in OpenOffice and other open source
productivity applications
The OpenOffice filters are already quite good and continue to get better (witness the improvements
made for OpenOffice 1.1). Developers at OpenOffice, KWord and other open source productivity
applications are already collaborating informally to solve remaining problems. Improved,
collaboratively maintained documentation by the open source community of the Microsoft Office
DTDs, similar to the OpenOffice project�s documentation of the Excel file format34, could further
improve this situation.
8.3.4
More opportunities for public sector decision-makers to learn about other open source
efforts and get access to useful information
The Cyberspace Policy and Research Institute�s annual Linux in Government conference and
OpenForum Europe provide rare opportunities for public sector leaders to learn more about how
open source can benefit government. More online resources are needed to assist public sector
decision makers who are interested in Linux.
8.3.5 Improved organizational infrastructure for open source projects
Sourceforge has revolutionized the way open source projects are developed. What may be missing is
an organizational equivalent: a set of resources to help open source projects organize themselves as
non-profit organizations and function effectively. In many cases, this may be as simple as offering
fiscal agency support to projects that wish to organize themselves as non-profit organizations.
8.3.6 More commercial end-user applications for Linux
The lack of a critical mass of commercial end-user applications is a major barrier to broader
consumer adoption of Linux. This chicken and egg problem is unlikely to be resolved within the
next few years.
Desktop Linux Overview
Page 32

8.3.7 The WINE project
The WINE project is an important part of Linux adoption on the desktop. Thanks to the efforts of the
WINE community and CodeWeavers, many Windows applications, including Microsoft Office,
Internet Explorer, Windows Media Player, Quicktime and Adobe Photoshop already run unmodified
under Linux. TransGaming, the other company that builds on the WINE libraries, boasts that it
allows 250 of the world�s hottest games, including EverQuest, Battlefield 1942 and SimCity, to run
unmodified under Linux. Additionally, the WINE libraries offer an easy way for ISVs to port
applications to Linux. For instance, a few years ago MusicMatch was ported to Linux using WINE. In
the not so distant future, further improvements to WINE may allow end-user Linux distributions to
credibly claim that Linux runs Windows applications,
8.3.8 Absence of a standard Linux
The multitude of Linux distributions and hardware platforms supported by Linux makes it hard for
ISVs to package applications for Linux. Especially in view of the uncertainty surrounding United
Linux, Red Hat is the de facto Linux standard. It should be noted that several desktop-oriented Linux
distributions (including Lindows, Lycoris and Xandros) are not based on Red Hat Linux. Efforts such
as the Linux Standards Base and easy-to-use software installers such as Lindows� Click�N�Run
Warehouse help to address this challenge.
8.3.9 User-friendly documentation and support options
Most Linux documentation, and the most popular mailing lists and support forums are hard to parse
for non-technical users, making it a daunting task to solve the inevitable problems that arise.
9
CONCLUSION
�Desktop Linux is no longer a technical challenge � it�s a marketing challenge.�
Making the Linux desktop more user-friendly, elegant, and interoperable with competing desktops is
a never-ending challenge. The effort has reached the point where, in many regards, Linux is �good
enough� for significant classes of users. If the current pace of improvements continues, Linux will
emerge as a mature and credible desktop alternative for tens of millions of users over the next few
years. If the current interest by the public sector in promoting open source persists, and in the
absence of other major shifts, Linux is slated to achieve a market share of as much as 10% over the
next four years. The process of desktop Linux adoption can be accelerated by some of the efforts
listed in this document.
Desktop Linux Overview
Page 33

FOOTNOTES
1
Forrester analyst Stacey Quandt, quoted at http://www.newsfactor.com/perl/story/21815.html
2
Both KDE and GNOME, the two leading open source desktop environments, do run on a variety of
operating systems, including Linux, FreeBSD and different variants of UNIX. For that matter, it is
possible to run them on top of Windows and OS X systems.
3
Headline and inspiration courtesy of ZDNet:
http://techupdate.zdnet.com/techupdate/filters/specialreport/0,14622,6023357,00.html other
4
http://www.gnome.org/pr-extremadura.html
5
Simon Phipps, quoted at http://mailshare.nmu.edu/listserv/network-users/msg00176.html
6
http://www.techtv.com/news/security/story/0,24195,3354075,00.html
7
Observers agree that the majority of these systems are wiped clear and Linux is replaced by a pirated
copy of Windows. As the Linux desktop matures and piracy declines, more and more people will
stick with the Linux OS that came preinstalled on their system.
8
Thanks to Dan Kusnetzky for this phrase.
9
Since many Linux vendors offer their own software update solutions, this is not a significant
drawback for KDE.
Ratings scale: :)??ready for prime time; :|??needs more work; :(??not ready, from an average user
10
or IT decision-maker perspective.
11
Notable areas of weakness remain, including VBA macro support and the ability to read and write
encrypted office files.
12
http://www.computerworld.com/softwaretopics/software/appdev/story/0,10801,70710,00.html
Rating: Health of each part of the eco-system: :)??healthy; :|??needs nurturing; :(??weak
13
14
http://news.com.com/2100-1045_3-1022584.html?tag=fd_top
15
http://news.com.com/2100-1016_3-1022472.html?tag=fd_top
16
http://steve-parker.org/articles/others/stephenson/mgbs.shtml
17
Starting at $350. http://www.pcworld.com/news/article/0,aid,111442,00.asp
18
http://schoolforge.net
19
http://www.linuxjournal.com/article.php?sid=6927&mode=thread&order=0
20
http://newsforge.com/newsforge/02/12/04/2346215.shtml?tid=19 and
http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2860180-1,00.html
21
http://zdnet.com.com/2100-1104-981878.html
22
http://www.linuxjournal.com/article.php?sid=6952
23
http://news.com.com/2100-1016-1011255.html?tag=nl
24
http://news.com.com/2100-1042_3-1020137.html?tag=fd_top
25
http://news.com.com/2100-1016-1011255.html?tag=nl
26
http://linuxtoday.com/it_management/2003062401426NWDPPB
27
http://linuxtoday.com/infrastructure/2003052802126NWDTPB
28
http://linuxtoday.com/infrastructure/2003052802126NWDTPB
29
http://cnetasia.com/newstech/systems/0,39001153,39129420,00.htm
30
http://asia.cnet.com/newstech/systems/0,39001153,39136847,00.htm
31
http://www.internetnews.com/dev-news/article.php/2109101
32
Havoc Pennington
33
List provided by Havoc Pennington
34
http://sc.openoffice.org/excelfileformat.pdf
Desktop Linux Overview
Page 34

Open Source Applications Foundation

Posted in Linux, Opetaring System | No Comments »

IT Consolidation with Linux

Posted by petanidigital on January 22, 2008

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 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
UNIX workloads to Linux on Intel. Ted Schadler, Linux Is More Than Ready for the Enterprise, Forrester Research Inc., June 24, 2003iii Overview
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
that fits with your evolving needs, reduces risk and
economic downturn. They are seeking ways to optimize
complexity and delivers real-world return on your informa-
and revitalize their internal IT infrastructures, making them
tion technology investments. This allows you to drive
more simple with improved service levels and able to
business responsiveness and focus more on your business
adapt quickly to changing business conditions. They must
issues.
consciously balance the levels of risk and costs associated
A consolidated environment that is easier to manage fits
with any change and ensure the quickest possible return
this bill nicely. IT consolidation has become a way to
on investment. In addition, they must also deal with the IT
reach your goals, cut costs, increase agility, align your IT
challenge of �server sprawl� � the proliferation of
with your business goals and move toward an adaptive
individual, geographically distributed, single-purpose
enterprise. IT consolidation is the reduction or centraliza-
servers throughout the enterprise. In many distributed
tion of disparate hardware and software to decrease
environments, applications are deployed on multiple
operating costs and improve business continuity, security
systems, each of which requires an operating system,
and manageability; it seeks to reduce the hidden costs of
application software and support. In addition, each
configuring, managing and supporting distributed
application typically requires a development and test
environments. Companies dealing with a patchwork of
server environment, further increasing cost and
hardware, software and operating systems�such as those
complexity. When each hardware unit is dedicated to a
that have recently undergone a merger or acquisition�
specific application, with its own gigabytes of storage,
are particularly good candidates for IT consolidation, as
utilization levels are low. There may be servers that sit idle
are organizations with geographically distributed systems
until application maintenance or testing is required, as
and multiple data centers. However, any company with
well as terabytes of underused storage on hundreds of
isolated or task-specific servers or multiple, distributed
servers that other applications cannot access. As a result,
storage systems should consider consolidation�s potential
what�s needed is improved manageability, reduced costs,
benefits.
increased agility and proof that IT investments will have a
favorable return.
3

�Every OS environment has a set of accelerators and
inhibitors to its deployment. When the inhibitors
overwhelm the accelerators, environments eventually
fade and die. In the case of Linux, the accelerators
currently in importance and value outstrip the inhibitors.
We have not perceived any major obstacles to Linux.�
�George Weiss, Gartner Symposium/ITxpo, October 2003
Why consolidate with
systems current capabilities. The issue of support for Linux
continues to be debated. Because Linux is maintained
and enhanced by a community of loosely coupled
Linux?
developers, it may be difficult to receive guaranteed
support. However, because the code is available to all,
Linux, with its flexibility, scalability and cost savings, can
anyone can provide support, and self-support becomes a
help overcome the obstacles and yield lasting infrastruc-
lower-cost and more viable option. There are other risks
ture improvements. In building for the future, Linux is an
involving the management of intellectual property
architect�s dream: It is reliable, adaptable, cost-effective
because you may need to establish new business
and open. Standing alone or mixed with other operating
processes. Some companies do provide support; HP
systems, Linux architecture is a solid foundation for
provides Linux support at a level as high as its critical
building an adaptive enterprise.
systems support.
According to a recent surveyi, IDC expects worldwide
Many companies are discovering that managing these
server market revenue to remain relatively flat, with a
risks responsibly is well worth the economic returns that
slight decline of 0.3 percent in 2003 to about $49.2
Linux brings. Along with the risks, open source brings a
billion. The five-year CAGR from 2002 through 2007 is
wealth of new opportunities to increase productivity and
expected to be 2.8 percent to $56.6 billion at the end of
refocus your energy to the core value you bring to your
the forecast period. This represents a period of modest
customers. Moreover, HP is reducing these risks by selling
growth in factory revenue for the overall server market,
and supporting the major distributions.
although some market segments, such as the Linux,
Benefits
Windows� and blade server market segments, are
expected to grow at faster rates. In particular, IDC
There are many significant benefits to using Linux. One
forecasts that Linux will grow from its 2002 market share
benefit via the software licensing terms is the ability to
of 4.6 percent to 16.1 percent by the end of 2007 and its
access and modify the source code, which can be
revenue increase from 2002�s $2,295M to $9,128M by
important if you need to make changes to fit your needs.
the end of 2007 � a 31.8 percent CAGR.ii
The fact that Linux can be freely copied, subject to reason-
able license terms, without payment of royalties is one of
Risks
the main business advantages of Linux. Affordability is a
Linux is just twelve years old, and with its relative newness
key factor; even though the initial negligible price of Linux
comes some risks and the question �Is it enterprise
software puts it in a class by itself, initial price isn�t the
ready?� � which translates into �Does it have the broad
only consideration. Ongoing operational expenses,
range of tools and capabilities to manage large environ-
licensing fees and support costs can make the initial costs
ments available with UNIX� or Windows?� HP and other
seem insignificant. The open source code makes Linux
hardware and software vendors are working diligently to
simple to administer, users have no licensing fees to pay
increase Linux features and tools to meet other operating
and support can be inexpensive via the experts or the
4

Linux Consolidation
Linux community or by fixing it on your own through the
open source code. Many argue that Linux is backed by
expert support and can be easily customized to meet
Methods
specific operating needs. In the enterprise, Linux has a
proven track record when it comes to solid availability in
IT consolidation takes many different forms, depending on
areas such as web serving and edge services, at a much
the existing infrastructure and business objectives.
lower cost than other environments. Servers running Linux
Because of its flexibility, you can apply Linux to any of
have been known to run for months, even years, without
several different types of consolidation:
needing to reboot.
� Collocation. Gathering widely distributed systems into
Control is another notable benefit. Because Linux
fewer locations is often the quickest way to realize the
resembles UNIX, the transition to Linux can be an easy
financial benefits of consolidation. Management and
and welcome one. And while security on any system
operation costs decrease while security, usage and
depends on the IT staff�s attentiveness and oversight, Linux
availability increase.
excels as a secure operating system, due to the many
additional security related software packages bundled
� Hardware, application and data integration. Server inte-
with it. For maximum security and performance, you can
gration reduces the number of systems when more
custom-tailor services and even the operating system
powerful servers of the same architecture host a single
kernel itself with minimal effort.
application or multiple instances of a single application.
Centralizing storage and reducing the number of servers
With limited resources, companies are often reluctant to
enables you to lower operating costs while improving
allocate money for large-scale projects that don�t show
performance and maximizing the availability of applica-
clear and immediate ROI. Linux consolidation can provide
tions and data. Switching from numerous applications
additional savings that can help justify your consolidation
accessing multiple databases to Linux solutions running
project, and the savings on software licensing fees can
on fewer servers can help you standardize systems and
bolster the business case for IT consolidation.
applications. Combining different workloads on one
Established in June 2001, The Shared Hierarchical
server can reduce your total cost of operation (TCO)
Academic Research Computing Network (SHARCNET) is
and combining data of different formats onto Linux can
Canada�s largest high-performance computing (HPC)
reduce hardware needs.
research facility. SHARCNET is a consortium of five
� IT utility. Self-configuring components and the dynamic
Southwestern Ontario universities and two community
allocation of resources can dramatically boost server
colleges that provides HPC resources, at no cost, to the
and storage utilization for maximum cost-effectiveness.
Canadian and international research community. In
January 2003, SHARCNET implemented a 64-bit two-
Additionally, HP offers unique consolidation options that
way Intel� Itanium� 2 processor cluster with Linux, to
combine some of the above consolidation methods. HP
meet the demands for cluster computing of a growing
can help you build an infrastructure for an adaptive
research community, which is producing increasingly
enterprise by simplifying, streamlining and optimizing IT
larger, more complex sets of data. Based on positive
environments, making them more agile and able to adapt
results, and premised on a successful proposal to the
dynamically. The result is a more powerful, flexible
Canada Foundation for Innovation, SHARCNET plans to
platform that provides continuous and secure operations
implement an Itanium-based XC solution across its
and lowers the cost of managing change.
computing sites.
HP Utility Data Center
�We wanted to maintain a 64-bit architecture because
research applications, especially those with large,
The HP Utility Data Center (UDC) is a highly integrated
complex data sets, are better suited to this for floating-
and consolidated environment that you can efficiently
point operations,� said Gary Molenkamp, system
manage to furnish IT services on demand. Data center
administrator, SHARCNET. �The implementation of the
virtualization via HP�s UDC offers a higher-level abstrac-
Itanium 2-based servers provided an excellent migration
tion of resources in which groups of servers, storage and
path from the Alpha-based technology upon which
network elements can be provisioned or reallocated on
SHARCNET�s original compute infrastructure was established.
the fly to meet the needs of a new IT service or handle
The Alpha is now an end-of-life technology, and, since
dynamically changing workloads and reduce operational
many high-end UNIX servers (such as HP Superdome
costs. The HP UDC is unique in offering a master software
systems) are migrating to the Itanium processor, the
environment, known as Utility Controller Software, which
implementation of this cluster allows researchers to
can manage all of the virtualized environments � server,
develop and test code on this platform now, instead of
storage and networking � in a coherent and integrated
two years from now. For SHARCNET, the Itanium 2-based
manner. The HP UDC with Utility Controller Software
HP solution was one of forwarding thinking.�
creates and runs virtual IT environments as a highly
5

CalPERS: Building a model adaptive
meeting capacity needs with a service approach rather
than a box approach through IT consolidation with HP
infrastructure
Superdome technology.
With assets of more than $150 billion, the California Pub-
When the decision was made to host new front-end web
lic Employees Retirement System (CalPERS) is the nation�s
applications on the Linux Red Hat operating system,
largest pension fund, providing retirement and health
CalPERS�s new adaptive infrastructure made it easy to roll
benefits to 1.4 million members and more than 2,500
this cost-effective platform on HP ProLiant servers. With
employees. Its clients are active and retired employees
some fine-tuning for Linux, CalPERS could use most of the
and their families from state and local government, school
standards, processes and procedures already established
districts, and public agencies.
for the HP-UX environment. With a streamlined, more
As with many distributed enterprises, CalPERS had man-
manageable infrastructure and a highly professional IT
aged growth by adding servers for each new major
service operation, CalPERS has kept staff and costs at a
application. When the data center reached the limits of
minimum while improving service levels, increasing
capacity and floor space with eight HP-UX T600 and
uptime and supporting roughly three times the number of
three K-class systems, HP recommended a new strategy�
applications that it did five years ago.
Running Linux on HP Integrity
automated service. Simplified delivery of that service
optimizes asset utilization and reduces staffing loads.
Superdome
Once wired, your infrastructure can be reconfigured
As early as 2002, HP demonstrated its Intel Itanium 2-
flexibly and dynamically with minimum effort to respond
based HP Superdome server running multiple operating
quickly to windows of market opportunity. Total cost of
environments � HP-UX, Windows and Linux � concur-
ownership is reduced dramatically through process
rently within a single system in three separate partitions.
automation, standardization, simplification and improved
This highlights HP�s ability to deliver multi-OS functionality
resource utilization. And overall QoS improvements are
on the industry-standard Intel Itanium architecture to meet
realized through rapid, automated resource provisioning.
the diverse customer workload requirements typical of
The HP UDC�s simple design allows you to wire your
today�s enterprise computing environments. As businesses
infrastructure just once. Any reallocation of resources can
look to improve operational efficiencies and reduce costs,
now be done with drag-and-drop simplicity. As a result,
consolidating applications and workloads on their
this new programmable data center approach lets you
enterprise servers represents an effective means for
manage more IT resources with less IT staff. The HP UDC
increasing the return on their technology investments. By
with Utility Controller Software reduces costs and
allowing multiple applications and operating systems to
improves IT flexibility through:
run in a partitioned environment, the highly available HP
Superdome server provides the benefits of better manage-
� Virtualized network resources, permitting drag-and-drop
ability, scalability and flexibility. A 64-way HP
�rewiring� of servers and related assets to create entire
Superdome system can run HP-UX 11i, Windows and
virtual IT environments.
Linux operating environments concurrently in three
� Virtualized storage resources, for secure, effective stor-
different hardware partitions. The configuration of the
age partitioning.
server includes:
� Advanced data center management software, allowing
� Four-way partition running HP-UX 11i with the Oracle�
resources to be automatically reassigned in response to
9.2 database and HP-UX Systems Administration
changing business and IT requirements.
Manger.
� Twenty-way partition running an RC2 version of
Microsoft� Windows .NET Server 2003 Data center
Edition, 64-bit Microsoft SQL Server Enterprise Edition,
and Windows System Resource Manager.
� Four-way partition running Linux with Linux desktop
applications.
6

First Trust Corporation: Threefold performance improvement for rapid growth
database administrator for First Trust. �They allow us to
As one of the nation�s largest independent trust
deploy databases faster and to scale up quickly as our
companies for self-directed retirement plans, First Trust
business demands it.�
Corporation handles transactions equaling millions of dol-
lars per day on behalf of financial intermediaries. �At First
Another major advantage of moving to the HP, Red Hat,
Trust, we process transactions for financial intermediaries
and Intel solution is that it provides an industry-standard
that have extremely high expectations for service levels,�
architecture that can accommodate the multiple solutions
says Jeff Knight, vice president of technology and vendor
First Trust needs to deploy. A standard Itanium 2�based
relations for First Trust. �High availability and the ability
platform allows the company to choose from a broad
to recover in seconds are absolute requirements for
range of software, solutions and components. The ability
remaining competitive and ensuring client satisfaction.�
to run multiple operating systems on a single platform by
taking advantage of the unique Intel Itanium 2
First Trust�s business is expanding rapidly, especially in
microarchitecture is also benefiting First Trust. The compa-
the area of equities transaction processing. The company
ny uses VMware virtualization software on Windows for
wanted to improve the performance and scalability of its
development and quality assurance for its transaction pro-
trading support system to accommodate more
cessing system, but its production environment is Linux. As
transactions and more clients. In addition to these require-
a result, First Trust is able to achieve a higher return on
ments, uptime was critical to ensure 24×7 customer
investment by moving to a single hardware platform for
support, security and failover capabilities. To remain com-
both testing and quality assurance. �With the HP and
petitive with other financial services organizations, one of
Intel solution, we can consolidate our development and
First Trust�s requirements was having a cost-effective solu-
deployment processes onto one standard platform, reduc-
tion to meet its immediate and long-term goals.
ing costs and simplifying development and system
To create a state-of-the-art equity and mutual fund trans-
administration,� explains Garner.
action processing system, First Trust deployed a cluster of
In the financial services world, many companies are mov-
four 2-way HP Integrity rx2600 servers running Oracle9i
ing toward real-time computing to deliver information to
Real Application Clusters (RAC) and Red Hat Enterprise
customer service representatives and customers over the
Linux AS. The new industry standards�based system has
Web. Knight also sees mobile communications and the
exceeded expectations, delivering 99.99 percent uptime
ability for employees and customers to access information
and a threefold performance improvement over the com-
from anywhere, at any time, using wireless devices
pany�s previous IBM RISC-based trading system running
becoming more important. �In the near future, First Trust
on AIX.
will need to become even more responsive to employees
Using Oracle9i RAC systems has also helped First Trust
and clients, and in new, innovative and more convenient
improve the uptime of the solution. �Oracle9i RAC
ways,� says Knight. �HP Integrity servers will be a factor
clusters on Itanium 2�based HP Integrity servers running
in our future strategies.�
Linux helps us be competitive,� says Bill Garner, lead
VMware
Ideally suited to corporate IT and service provider data
centers, VMware ESX Server works by partitioning
HP and VMware have teamed up to provide VMware�s
physical servers into secure virtual servers. Different
ESX Server software on HP servers and blades, helping
operating systems and applications are isolated within
companies not only to implement server consolidation, but
their own virtual servers and can safely coexist on a
also to streamline development and testing, to improve
single HP server. Hardware resources are dynamically
availability and disaster recovery and to facilitate the
allocated to the virtual machine �as required by its
coexistence of multiple operating systems � including
workload or as specified by its administrator. The result is
Linux, Windows and NetWare � on one physical server.
a level of infrastructure control more typical of a
With the introduction of Virtual Center� and VMotion�,
mainframe, at a fraction of the cost.
joint customers can now also centrally manage their
virtual compute resources and dynamically move
HP servers running VMware�s virtual infrastructure
workloads across ESX Servers without service interrup-
technology create secure, fault-resistant partitions with
tions. Virtualization is defined as an approach to IT that
guaranteed performance levels. Companies can reduce
pools and shares resources so utilization is optimized and
operational expenses and capital costs by running
supply automatically meets demand.
services and applications on virtual machines instead of
7

on dedicated hardware. Integrated with HP�s ProLiant
hardware devices and memory. This allows you to run
Essentials software, VMware ESX Server simplifies server
operating systems and software within the emulator on
infrastructure by partitioning and isolating server
your workstation � similar to having a machine inside of
resources so they can be remotely managed and
a machine.
automated. Because VMware runs natively on the
Ensim
hardware without a host operating system for ultimate
performance, ESX Server should run on compatible HP
Ensim� and HP offer joint hosting management solutions
hardware (as outlined in VMware�s compatibility guide on
for service providers. Ensim�s award-winning solutions for
www.VMware.com.)
Linux and Windows offer fully automated hosting
management. Ensim WEBppliance has four interfaces to
Consolidation doesn�t have to mean homogenization. For
delegate administration to specific user roles and a
many companies, a combined Linux/Windows environ-
common interface for Linux and Windows-based testing. It
ment makes the most sense. With VMware software, HP
is designed for a range of HP ProLiant servers. Joint
ProLiant servers can run heterogeneous versions of Linux
solutions components include Ensim Virtual Private Server,
and Windows on a single server.
Ensim server manager and HP ProLiant Servers.
Partitioning also helps VMware ESX Server to bolster HP
Workload Management
servers� already strong data protection capabilities by
allowing critical data to be secured in isolated virtual
The type or makeup of the workload that you envision
machines. You can use these virtual machines to mirror
migrating to Linux not only will have a large impact on
physical servers or act as failover servers to increase
the hardware resources needed, but it will also affect the
availability. VMware ESX Server also helps streamline
possible economics of reduced personnel resources.
and economize development and testing processes. Using
Therefore, identify workloads accurately as early as
virtual rather than physical machines enables developers
possible. The classic environments typically slated for
to execute realistic simulations and tests of sophisticated
migration to Linux are:
systems without acquiring new hardware.
� File and print, monitoring basic network functions such
The benefits of the HP/VMware solution should not come
as file sharing and remote printing.
at the price of restricting future growth. With VMware
� E-mail, including SMTP mail and authentication.
VirtualCenter and VMotion, a system can be moved easily
and quickly to a larger or dedicated computer when your
� Web/Internet, ranging from simply serving static web
needs grow beyond the capacity of a hardware platform,
pages to ostensibly delivering a customized Web site to
and migrations and maintenance can occur without
every user.
interruption to users.
� Firewall/Other I/O bound applications, including fire-
Wine and Bochs
walls, LDAP directories and other applications that
access data across multiple systems.
In addition to VMware, other applications have been
designed to enable Microsoft Windows- based applica-
� Business intelligence, including applications such as
tions to run on the Linux operating system.
data warehousing that typically are I/O bound.
The Wine project does its job by forming a layer between
� Other CPU bound applications, including calculation-
the Microsoft Windows application and the Linux
intensive applications such as CAD/CAM and statistical
operating system, behaving more as an interpreter than a
packages.
full emulator. Think of Wine as a Windows compatibility
layer that does not require Microsoft Windows. More than
� Mixed workload, servers that are running more than
1,000+ applications run under Wine. With Wine, you
one application.
can take advantage of all the UNIX strong points such as
stability, flexibility and remote administration while still
using the Windows applications you depend upon. Wine
is open source software, so you can extend it to suit your
needs.
Bochs is a PC emulation package written in C++ that can
run many Microsoft Windows applications. Currently,
Bochs can run most operating systems inside the
emulation, including Linux, Windows 95, DOS and
Windows NT 4. Bochs can be compiled and used in a
variety of modes. The typical use of Bochs is to provide
complete x86 PC emulation, including the x86 processor,
8

TCO studies
new applications and ongoing maintenance of those
custom applications. Other factors can also affect the
TCO calculation, such as the kind of hardware (and how
IT consolidation should be an ongoing approach to
much of it) you�re using, whether you�re transitioning from
making your business more cost-efficient and improving
Windows or UNIX or starting from the ground up and if
the alignment between business and IT. Application and
your IT staff has any experience with a UNIX-like OS.
data reconfiguration, security, access rights, storage
Analyst firm IDC forecasts that as the entire Linux server
management, performance and maintenance are only a
market matures, TCO costs will come down due to wider
few of the issues that must be handled correctly. Another
availability of package applications for Linux servers and
obstacle is that obtaining funding for a consolidation
greater numbers of programmers and systems administra-
project is difficult without a clearly demonstrable and
tors with skill sets relating to the Linux server platform.
timely ROI.
A recent Gartner Group studyiv shows that enterprises that
Although Linux servers, especially small ones, can be less
tend to install Linux on client desktops will save $80 in
expensive than many traditional UNIX/RISC servers, it�s
hardware acquisition costs and an average of $74 per
important to take into account the total cost of ownership
user per year on office automation software. Table 1
(TCO). To determine whether long-term ownership of Linux
presents a TCO comparison using the typical numbers of
servers is truly less expensive than entry-level UNIX or
ten servers, 3,000 GB of storage, 5,000 users, and an
Windows servers, you�ll need to examine all aspects of
average transaction value per hour of 258,250.
ownership, including custom programming, deployment of
Table 1. A value calculator from
TCO Comparison: Sun Solaris vs. HP Linux ProLiant
Alineanv, the IT value experts, esti-
mates the potential TCO savings
Sun Solaris
HP Linux ProLiant
Savings with HP Linux
and benefits of migrating from your
current business computing platform
Hardware
$178,531
$70,130
$108,401
to Linux on HP ProLiant servers.
Software
$120,000
$66,000
$54,000
IT Operations
$620,116
$181,913
$438,203
IT Administration
$49,797
$29,175
$20,622
Facilities and Overhead
$50,000
$20,000
$30,000
Downtime
$46,485
$104,592
$-58,107
TCO Summary
$1,064,929
$471,810
$593,119
Savings with HP Linux
56%
TCO per System
$106,493
$47,181
$59,312
TCO per User
$213
$94
$119
9

To accomplish an accurate TCO analysis for a Linux
mainframe. These include increasingly high cost of
migration, detailed cost data must be available for
ownership as skills become scarcer and legacy applica-
hardware, software, IT operations, IT administration, facili-
tions and hardware need to be maintained and a lack of
ties and overhead and downtime (as Table 1 shows). It
flexibility/new applications, which would inhibit growth
may also be relevant to include storage and networking
and limit server utilization. Counterintuitive as it may
costs as well as support and maintenance.
seem, some companies are running Linux on their
mainframes. If you are considering running Linux on your
It is only after you examine all of the cost categories that
mainframe, be aware of these limitations:
you can fully appreciate the economic impact that Linux
may have. For example, Table 2 gives the estimated
� To run Linux on a mainframe, you�ll need to run a Linux
budgeted TCO of a mainframe versus Linux on an Intel
partition, and you will still need a mainframe OS to give
system is as follows:
you the LPAR partitioning functionality.
� Only three of the 265 available Linux versions today are
Costs of Linux on an Intel System
specially designed for the mainframe. To date, these
include special mainframe versions of SuSE, TurboLinux,
Cost Category
Linux/Intel
New Mainframe
and Red Hat (32-bit only).
Hardware
$497,822
$5,700,041
� If you currently have fewer than 20 Linux/Intel (Lintel)
Storage
$124,807
$156,009
servers, consolidating onto the mainframe will not pro-
Software
$776,700
$1,163,600
vide a cost advantage.
Services
$188,496
$227,290
� All but one vendor (IBM) has exited the mainframe mar-
ket.
Network
$449,987
$839,987
� Linux on a mainframe supports only a few hundred ISV
Facilities
$209,752
$225,185
applications, compared to the thousands that run on Lin-
Personnel
$1,759,498
$1,199,658
tel. This does not provide the same investment protection
as Linux on Intel Itanium 2 Superdome.
Downtime
$1,234,800
$749,146
� The mainframe does not work well with UNIX and other
Support and Maintenance
$577,379
$777,113
server lines.
Total Cost of Ownership
$5,819,242
$11,038,028
� The initial entry costs and ongoing maintenance are
For example, to make a traditional purchase decision
expensive.
Table 2. This presents your budget-
ed cost of ownership over the life of
based on an acquisition price (hardware and software),
your analysis length, showing raw
� There are hidden software, maintenance and hardware
Table 2 indicates that a Linux/Intel based solution would
cost data before adjusting for tax
component costs.
be the winner. Yet those costs rarely amount to as much
and present value effects. It summa-
rizes the amount you will need to
as 40 percent of the TCO. As a result, acquisition costs
� The technology � and certified mainframe technicians
budget to your Linux migration over
can be deceiving at best and, at worst, can lead to
� are aging.
the time span you have chosen.vi
dismal platform decisions.
� Only about 250 Linux applications are supported on the
However, note that many factors � which may not be
mainframe vs. thousands on Intel.
easily foreseen or controlled � can affect TCO calcula-
tions and realizations. A recent Gartner symposium
Case Studies
indicates that most of the financial benefits of Linux are
HP�s proven commitment to both Linux and IT consol-
clearly cost acquisition-driven and could be affected to
idation is evident not only in its record of success
some degree by your IT organization in ongoing
working with partners, but also in its own IT
operational efficiencies, which may be directly or tangen-
infrastructure: HP reduced its own data centers from
tially a result of Linux. For example, poor provisioning,
153 to just 7, lowering costs by 40 percent. No ven-
management and server utilization could counter the
reduced license, maintenance and capital costs of the
dor has more experience helping companies do
hardware.vii
more with less, and HP continues to consolidate and
optimize its infrastructure as a matter of course.
Comparing Linux/Mainframe to
Linux/Intel
While other companies might specialize in one or two
areas of consolidation, HP�s consolidation experts can
While the mainframe does provide certain advantages
handle your entire consolidation project or execute any
and strengths, there are many reasons to migrate off of a
10

gies. Itanium 2 can, on Linux and HP-UX, provide more
part of it, including assessment, design, planning, testing,
freedom of choice and more flexibility with IA vs. RISC.
piloting and installment. That might be one reason HP
was ranked number one in a 2002 IDC customer server
Lower Saxony Police: Access anywhere
and storage consolidation study.
Lower Saxony police needed to be able to deal with
Key partnerships with software leaders such as Oracle,
crime and emergencies around the clock in Germany�s
SAP and Brocade help HP provide end-to-end consolida-
second largest state. Its applications are mission critical
tion solutions. Only HP supplies a complete storage
and data intensive; they include operative, administrative
solution for Linux environments, including consulting and
and statistical and management information tasks. In the
support services, SAN infrastructure, disk arrays, manage-
past, individual police forces in the area had separate,
ment solutions with integration into enterprise
incompatible IT systems at 600 police stations that were
management tools and value-added programs such as
not connected, creating cost overheads, operational ineffi-
Instant Capacity on Demand. HP makes Linux consolida-
ciencies and delays in the fight against crime.
tion easy with a comprehensive program of consulting
The solution was IT consolidation with Linux, with a
services, including data migration, backup integration
balanced, distributed architecture with unified information
and SAN integration.
system for criminal records, investigative data and
HP�s comprehensive Porting and Migration Services
administrative needs, with Intel Itanium 2-based HP
maximize the benefits of IT consolidation, enabling a
ProLiant Servers (20 at the headquarters and 100 at
smooth transition from legacy environments to HP servers.
stations). The solution includes BEA WebLogic Server 8.1
HP can protect investments in legacy systems by migrating
and WebLogic JRockit, a central database repository
applications, data or both to the HP Linux platform.
based on Oracle9i*, Red Hat Linux and HP-UX operating
During an initial feasibility phase of a consolidation
systems, and Intel Pentium� 4 processor-based PCs for
project, HP consultants help companies evaluate the best
information access. �In the area of central servers, the
options for their needs.
Intel Itanium 2-based HP servers reduce the complexity in
our customers� IT environments. With HP Itanium 2-based
Platform implementation and optimization services�
servers, we can run on a single hardware architecture,
rehosting, refronting and rebuilding�help ensure a
even though more than one OS is required,� said Roland
smooth, low-risk, cost-optimized transition, while
von Bethusy-Huc, senior manager, Mummert Consulting.
operational management assistance and remote
monitoring address resourcing and project management
�We�re using HP servers based on the Intel Itanium 2
concerns. Educational consulting, mentoring and skills
processor in our central environment. That allows us to
management support IT and development staff throughout
administer and operate different operating systems on
the transition.
similar hardware architecture at a low cost,� said Axel
K�hler, project manager, Lower Saxony Police.
All these services help lower TCO by reducing staffing
and training requirements for hardware and software,
The results are rapid access to criminal proceedings,
accelerating the introduction of new features and services
investigations and administration info throughout the state,
and enabling the implementation of data center best
exceptional performance and rapid response times for the
-practices.
11,600 distributed users, lower cost of ownership and
capital expenses by running HP-UX and Linux on a
The BMW Group: Two to three times performance
common platform and outstanding reliability for mission-
BMW is an internationally renowned manufacturer of
critical computing.
prestigious cars, recognized around the world. The BMW
Group uses its motto �Driving ahead� both as an aspira-
Conclusion
tion and a motivation. The company�s will to be ahead is
the result of a passion for mobility and a continued drive
for improvement. From this aspiration flows the energy
IT consolidation solves many of the problems prevalent in
that makes the company successful.
today�s data center, and Linux offers an attractive
package of flexibility, scalability and reliability. As you
The BMW Group in Europe needed to simulate large car
build for the future, make sure you have the right master
models on NASTRAN and had a high demand for large
plan. Then lay a strong foundation with the three Linux
I/O bandwidth and performance in a CAE supercom-
pillars: HP hardware platforms, HP enterprise software
puter data center. Its solution was 12 x 4 way HP Itanium
and HP services. In addition, be sure to partner with the
2-based servers and Nastran (MSC), Pamcrash (ESI) and
right builder � one who can help you achieve maximum
Linux.
return on IT investment.
BMW reported results of two to three times more perform-
IT consolidation and Linux are both means to the same
ance than the fastest RISC systems. It showed the best I/O
end: doing more with less�which makes Linux a good
bandwidth with HP servers of all tested server technolo-
choice for consolidation efforts.
11

Endnotes
iv Gartner Group, Linux on the Desktop: The Whole Story
http://www.gartner.com/DisplayDocument?id=40645
9, August 8, 2003.
i Mark Melenovsky, Stephen L. Josselyn, Matthew East-
v Hewlett-Packard Company and Alinean, Value calcula-
wood, Thomas Meyer, Ricardo Villate, Masahiro
tor: The Value of Linux on HP
Nakamura, Avneesh Saxena, Rajnish Arora, Roman
http://h10018.www1.hp.com/wwsolutions/linux/dow
Mace.ka, Alan Freedman, Greg Ambrose, Jean S. Boz-
nload/tco/HPLinuxTCOCalculator.html, Copyright
man, IDC MARKET ANALYSIS Worldwide and U. S.
2002-2003.
Server Forecast Update, 2002-2007, October 2003,
page 9.
vi CIOview Corp, The Financial Impact of Migrating to
Linux, www.cioview.com, Copyright 2002. Page 3.
ii Mark Melenovsky et al., IDC MARKET ANALYSIS
Worldwide and U.S. Server Forecast Update, 2002-
vii George Weiss, The March of Linux in the Enterprise:
2007, October 2003, page 35.
How Far, How Fast, 41A, SYM13, AE, Gartner Sympo-
sium/ITxpo 2003, Lake Buena Vista, Florida, 20-24
iii Ted Schadler with Charles Rutstein, Forrester Research
October 2003, Walt Disney World.
Inc. WholeView TechStrategy Research: Linux is More
Than Ready for the Enterprise, June 24, 2003, page 1.
To learn more about HP�s offering, visit www.hp.com/linux.
� 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP
products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as
constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.
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
registered trademark of Linux Torvalds.
5982-3629EN, 02/2004

Posted in Linux, Networking, Opetaring System | No Comments »

Learn Bash Programming

Posted by petanidigital on January 20, 2008

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 the syntax of different shells can vary greatly.

A simple example

Here’s a very simple example of a shell script. It just runs a few simple commands

#!/bin/bash
echo "hello, $USER. I wish to list some files of yours"
echo "listing files in the current directory, $PWD"
ls # list files

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.

$USER and $PWD are variables. These are standard variables defined by the bash shell itself, they needn’t be defined in the script. Note that the variables are expanded 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’s value then executes the command.

We continue the discussion on variables below …

Variables

Any programming language needs variables. You define a variable as follows:

X="hello"

and refer to it as follows:

$X

More specifically, $X is used to denote the value of the variable X. Some things to take note of regarding semantics:

  • bash gets unhappy if you leave a space on either side of the = sign. For example, the following gives an error message:

    X = hello

  • 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,

    X=hello world # error
    X=”hello world” # OK

This is because the shell essentially sees the command line as a pile of commands and command arguments seperated by spaces. foo=baris considered a command. The problem with foo = bar is the shell sees the word foo seperated by spaces and interprets it as a command. Likewise, the problem with the command X=hello world is that the shell interprets X=hello as a command, and the word “world” does not make any sense (since the assignment command doesn’t take arguments).

Single Quotes versus double quotes

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.

An example

#!/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

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.

Using Quotes to enclose your variables

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:

#!/bin/bash
X=”"
if [ -n $X ]; then # -n tests to see if the argument is non empty
echo “the variable X is not the empty string”
fi

This script will give the following output:

the variable X is not the empty string

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:

#!/bin/bash
X=”"
if [ -n “$X” ]; then # -n tests to see if the argument is non empty
echo “the variable X is not the empty string”
fi

In this example, the expression expands to [ -n “” ] which returns false, since the string enclosed in inverted commas is clearly empty.

Variable Expansion in action

Just to convince you that the shell really does “expand” variables in the sense I mentioned before, here is an example:

#!/bin/bash
LS=”ls”
LS_FLAGS=”-al”
$LS $LS_FLAGS $HOME
This looks a little enigmatic. What happens with the last line is that it actually executes the command

ls -al /home/elflord

(assuming that /home/elflord is your home directory). That is, the shell simply replaces the variables with their values, and then executes the command.

Using Braces to Protect Your Variables

OK. Here’s a potential problem situation. Suppose you want to echo the value of the variable X, followed immediately by the letters “abc”. Question: how do you do this ? Let’s have a try :

#!/bin/bash
X=ABC
echo “$Xabc”

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:

#!/bin/bash
X=ABC
echo “${X}abc”

Conditionals, if/then/elif

Sometimes, it’s necessary to check for certain conditions. Does a string have 0 length ? does the file “foo” 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:

if condition
then
statement1
statement2
……….
fi

Sometimes, you may wish to specify an alternate action when the condition fails. Here’s how it’s done.

if condition
then
statement1
statement2
……….
else
statement3
fi

alternatively, it is possible to test for another condition if the first “if” fails. Note that any number of elifs can be added.

if condition1
then
statement1
statement2
……….
elif condition2
then
statement3
statement4
……..
elif condition3
then
statement5
statement6
……..

fi

The statements inside the block between if/elif and the next elif or fi 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 “succesfully” ). However, in the course of this document, we will be only interested in using “test” or “[ ]” to evaluate conditions.

The Test Command and Operators

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:

test operand1 operator operand2

for some tests, there need be only one operand (operand2) The test command is typically abbreviated in this form:

[ operand1 operator operand2 ]

To bring this discussion back down to earth, we give a few examples:

#!/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

Some pitfalls to be wary of

The test command needs to be in the form “operand1operatoroperand2″ or operatoroperand2 , in other words you really need these spaces, since the shell considers the first block containing no spaces to be either an operator (if it begins with a ‘-’) or an operand (if it doesn’t). So for example; this

if [ 1=2 ]; then
echo "hello"
fi

gives exactly the “wrong” output (ie it echos “hello”, 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 must wrap anything you wish to use for a -n 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 very wierd bugs. Here’s an example: For example,

#!/bin/bash
X="-n"
Y=""
if [ $X = $Y ] ; then
echo "X=Y"
fi

This will give misleading output since the shell expands our expression to

[ -n = ]

and the string “=” has non zero length.

A brief summary of test operators

Here’s a quick list of test operators. It’s by no means comprehensive, but its likely to be all you’ll need to remember (if you need anything else, you can always check the bash manpage … )

operator produces true if… number of operands
-n operand non zero length 1
-z operand has zero length 1
-d there exists a directory whose name is operand 1
-f there exists a file whose name is operand 1
-eq the operands are integers and they are equal 2
-neq the opposite of -eq 2
= the operands are equal (as strings) 2
!= opposite of = 2
-lt operand1 is strictly less than operand2 (both operands should be integers) 2
-gt operand1 is strictly greater than operand2 (both operands should be integers) 2
-ge operand1 is greater than or equal to operand2 (both operands should be integers) 2
-le operand1 is less than or equal to operand2 (both operands should be integers) 2

Loops

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

  • for loops
  • while loops

For loops

The syntax for the for loops is best demonstrated by example.

#!/bin/bash
for X in red green blue
do
echo $X
done

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’s an example:

#!/bin/bash
colour1="red"
colour2="light blue"
colour3="dark green"
for X in "$colour1" $colour2" $colour3"
do
echo $X
done

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.

Globbing in for loops

The shell expands a string containing a * to all filenames that “match”. 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 “*” by itself expands to a space seperated list of all files in the working directory (excluding those that start with a dot “.” ) So

echo *

lists all the files and directories in the current directory.

echo *.jpg

lists all the jpeg files.

echo ${HOME}/public_html/*.jpg

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:

#!/bin/bash
for X in *.html
do
grep -L 'gif' "$X"
done

While Loops

While loops iterate “while” a given condition is true. An example of this:

#!/bin/bash
X=0
while [ $X -le 20 ]
do
echo $X
X=$((X+1))
done

This raises a natural question: why doesn’t bash allow the C like for loops

for (X=1,X<10;>

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.

Command Substitution

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.

There are two means of command substitution: brace expansion and backtick expansion.

Brace expansion workls as follows: $(commands) expands to the output of commands This permits nesting, so commands can include brace expansions

Backtick expansion expands `commands` to the output of commands

An example is given;:

#!/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

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’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)


Posted in Scripting | No Comments »

Quicky Setup - Linux and Windows XP/2000 dual bootLinux Pengiun Installing Dual boot Windows XP/2000 and Linux? & Chain-loading Windows XP/2000 and Linux using Grub

Posted by petanidigital on January 20, 2008

  1. Use fdisk to partition your drive properly.
  2. Download an burn 3 Mandrake 8.2 CDs or your favorite distro
  3. Install Windows XP/2000 on the first partition, make sure you use fat 32 as your file system, not xp ntfs
  4. Start your Linux Installation and install the /root directory into the second partition.
    Install GRUB into the first sector of your boot partition (usually /boot) and not in the MBR. (Note there are reported problems with lilo)
  5. Make a boot disk during the Linux installation if possible so that you can boot into it.
  6. Now boot into Linux and copy the boot image from the boot sector. To do this run:
    dd if=/dev/hdan of=/bootsect.lnx bs=512 count=1
    , where /dev/hdan is the location of /boot and /bootsect.lnx is the Linux boot image.
  7. Copy this bootsect.lnx file to a safe location where you can reach it using Windows.
  8. Reboot into Windows XP/2000 and copy this bootsect.lnx file into the root directory (C:\).
  9. Edit c:\boot.ini and append the following line: c:\bootsect.lnx=”Linux”.
  10. Reboot your system and boot directly from the hard disk.
  11. The Windows XP/2000 boot loader should now give you the option of booting into either Windows XP/2000 or Linux.
  12. Try booting into both of them to see if you were successful.

    See linux docs for more info

    Troubleshooting

    What to do if if the actual boot code is *not* installed in /boot, but in the MBR?
    When the system gets ready to make the boot sector, it creates a file in /boot
    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
    and boot into Linux.

    Your Master Boot Record (MBR) is toast
    type: lilo -u /dev/hda in linux to remove lilo
    Boot to MS-DOS and type fdisk /mbr

    How to use Grub to Chainload XP Professional or Windows 2000

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.

To do this you must first either use fdisk (dos boot disk) to format the drives or linux.

  1. 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).
  2. 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.
  3. Again boot Mandrake/RH install CD; and tell it to install GRUB in the boot partition, not on the MBR; complete the install.
  4. This leaves you with a working system that will autoboot into Windows,
    since Windows had set the partition table to mark its own partition as
    active (bootable). Then use sfdisk to mark the boot partition as active
    (sfdisk -A1 /dev/hda) and you have a working dual-boot system.
  5. There is no evidence that the Windows installer mucks with the other
    partitions. It does, however, mark its install partition as active,
    so make sure you make a Linux boot floppy so you can get back into Linux
    to run sfdisk.

Again: GRUB can chain to WinXP’s boot code when WinXP is in a primary partition, but not when it’s in a logical partition. And you must make sure to reinstall grub after windows XP.

Posted in Networking, Opetaring System | No Comments »

Linux Cheat Sheet

Posted by petanidigital on January 20, 2008

get linux to cheat too :)

Posted in Linux | No Comments »

IPv6 or IPng (IP Next generation):

Posted by petanidigital on January 20, 2008

IPv6 is short for “Internet Protocol Version 6″. IPv6 is the “next generation” protocol designed by the IETF (The Internet Engineering Task Force) to replace the current version Internet Protocol, IP Version 4 (”IPv4″). The IP v 6 specifications are in rfc2460.Most of today’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.

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.

Contents 1 Introduction
2.0 Key Issues
3.0 History of the IPng Effort
4.0 IPng Overview
5.0 IPng Header Format
6.0 IPng Extensions
7.0 IPng Addressing
8.0 IPng Routing
9.0 IPng Quality-of-Service Capabilities
10. IPng Security
11. IPng Transition Mechanisms
12. Why IPng?


1. Introduction
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, “The Recommendation for the IP Next Generation Protocol” [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 “6″ 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.

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 “flag” 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.

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.

2.0 Key Issues
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’t matter how good a new protocol is if there isn’t a practical way to transition the current operational systems running IPv4 to the new protocol.


2.1 Growth 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’s to Supercomputers. Most are attached to Local Area Networks (LANs) and the vast majority are not mobile.

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.

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’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.

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.

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.

The challenge the IETF faced in the selection of an IPng is to pick a protocol which meets today’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.

2.2 Transition 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.

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’s operational internet. In his message he said:

“Being a network manager and thereby representing the interests of a significant number of users, from my perspective it’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’t be able to be integrated into the user’s network environment. I also don’t think it wise to think of the transition as just a painful phase we’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’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.”Given this situation, and the reality that it won’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… with no requirement to need to coordinate local changes with other changes elsewhere in the Internet…

“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’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…

“The bottom line for me is that we must have interoperability during the extended transition period for the base IPv4 functionality…”

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’s.

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.

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.

3.0 History of the IPng Effort
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 “CNAT”, “IP Encaps”, “Nimrod”, and “Simple CLNP”. By December 1992 three more proposals followed; “The P Internet Protocol” (PIP), “The Simple Internet Protocol” (SIP) and “TP/IX”. In the Spring of 1992 the “Simple CLNP” evolved into “TCP and UDP with Bigger Addresses” (TUBA) and “IP Encaps” evolved into “IP Address Encapsulation” (IPAE).

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 “Simple Internet Protocol Plus” (SIPP). At about the same time the TP/IX Working Group changed its name to “Common Architecture for the Internet” (CATNIP).

The IPng area directors made a recommendation for an IPng in July of 1994. This recommendation, from [1], includes the following elements:

  • Current address assignment policies are adequate.
  • There is no current need to reclaim underutilized assigned network numbers.
  • There is no current need to renumber major portions of the Internet.
  • CIDR-style assignments of parts of unassigned Class A address space should be considered.
  • “Simple Internet Protocol Plus (SIPP) Spec. (128 bit ver)” [3] be adopted as the basis for IPng.
  • The documents listed in Appendix C be the foundation of the IPng effort.
  • An IPng Working Group be formed, chaired by Steve Deering and Ross Callon.
  • Robert Hinden be the document editor for the IPng effort.
  • An IPng Reviewer be appointed and that Dave Clark be the reviewer.
  • An Address Autoconfiguration Working Group be formed, chaired by Dave Katz and Sue Thomson.
  • An IPng Transition Working Group be formed, chaired by Bob Gilligan and TBA.
  • The Transition and Coexistence Including Testing Working Group be chartered.
  • Recommendations about the use of non-IPv6 addresses in IPv6 environments and IPv6 addresses in non-IPv6 environments be developed.
  • The IESG commission a review of all IETF standards documents for IPng implications.
  • The IESG task current IETF working groups to take IPng into account.
  • The IESG charter new working groups where needed to revise old standards documents.
  • Informational RFCs be solicited or developed describing a few specific IPng APIs.
  • The IPng Area and Area Directorate continue until main documents are offered as Proposed Standards in late 1994.
  • Support for the Authentication Header be required.
  • Support for a specific authentication algorithm be required.
  • Support for the Privacy Header be required.
  • Support for a specific privacy algorithm be required.
  • An “IPng framework for firewalls” be developed.


4.0 IPng Overview
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’t work were removed. The changes from IPv4 to IPng fall primarily into the following categories:

  • 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.

    The scalability of multicast routing is improved by adding a “scope” field to multicast addresses.

  • A new type of address called a “anycast address” 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.
  • 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.
  • 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.
  • Quality-of-Service CapabilitiesA new capability is added to enable the labeling of packets belonging to particular traffic “flows” for which the sender requests special handling, such as non-default quality of service or “real- time” service.
  • 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.

The IPng protocol consists of two parts, the basic IPng header and IPng extension headers.

5.0 IPng Header Format

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Prior | Flow Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Next Header | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Source Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Destination Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Ver
4-bit Internet Protocol version number = 6.
Prio
4-bit Priority value. See IPng Priority section.
Flow Label
24-bit field. See IPng Quality of Service section.
Payload Length
16-bit unsigned integer. Length of payload, i.e., the rest of the packet following the IPng header, in octets.
Next Hdr
8-bit selector. Identifies the type of header immediately following the IPng header. Uses the same values as the IPv4 Protocol field [6].
Hop Limit
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.
Source Address
128 bits. The address of the initial sender of the packet. See [7] for details.
Destination Address
128 bits. The address of the intended recipient of the packet (possibly not the ultimate recipient, if an optional Routing Header is present).

6.0 IPng Extensions
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’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.

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.

The IPng extension headers which are currently defined are:

Routing Extended Routing (like IPv4 loose source route).
Fragmentation Fragmentation and Reassembly.
Authentication Integrity and Authentication. Security
Encapsulation Confidentiality.
Hop-by-Hop Option Special options which require hop by hop processing.
Destination Options Optional information to be examined by the destination node.

7.0 IPng Addressing
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’s interfaces’ 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.

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:
340,282,366,920,938,463,463,374,607,431,768,211,456

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).

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’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×10^^17 to 2×10^^33 nodes assuming efficiency in the same ranges as the other addressing architecture’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.

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:

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

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.

Approximately fifteen percent of the address space is initially allocated. The remaining 85% is reserved for future use.

7.1 Unicast Addresses 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.

7.2 Provider Based Unicast Addresses 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:

     | 3 |  n bits   |  m bits   |   o bits    | p bits  | o-p bits |
+---+-----------+-----------+-------------+---------+----------+
|010|REGISTRY ID|PROVIDER ID|SUBSCRIBER ID|SUBNET ID| INTF. ID |
+---+-----------+-----------+-------------+---------+----------+

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.

7.3 Local-Use Addresses 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 “plug and play” 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:

     |   10     |
| bits | n bits | 118-n bits |
+----------+-------------------------+----------------------------+
|1111111010| 0 | INTERFACE ID |
+----------+-------------------------+----------------------------+

Link-Local-Use addresses are designed to be used for addressing on a single link for purposes such as auto-address configuration.

Site-Local-Use addresses have the following format:

     |   10     |
| bits | n bits | m bits | 118-n-m bits |
+----------+---------+---------------+----------------------------+
|1111111011| 0 | SUBNET ID | INTERFACE ID |
+----------+---------+---------------+----------------------------+

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’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.

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.

7.4 IPv6 Addresses with Embedded IPV4 Addresses 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 “IPv4-compatible IPv6 address” and has the format:

     |                80 bits               | 16 |      32 bits        |
+--------------------------------------+--------------------------+
|0000..............................0000|0000| IPV4 ADDRESS |
+--------------------------------------+----+---------------------+

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 “IPv4-mapped IPv6 address” and has the format:

     |                80 bits               | 16 |      32 bits        |
+--------------------------------------+--------------------------+
|0000..............................0000|FFFF| IPV4 ADDRESS |
+--------------------------------------+----+---------------------+

7.5 Anycast Addresses
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 “nearest” interface having that address, according to the routing protocols’ 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 “source selected policies”. 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.

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.

7.6 Multicast Addresses 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:

     |   8    |  4 |  4 |                  112 bits                   |
+------ -+----+----+---------------------------------------------+
|11111111|FLGS|SCOP| GROUP ID |
+--------+----+----+---------------------------------------------+

11111111 at the start of the address identifies the address as being a multicast address.

+-+-+-+-+ FLGS is a set of 4 flags: |0|0|0|T| +-+-+-+-+

The high-order 3 flags are reserved, and must be initialized to 0.

T=0 indicates a permanently assigned (”well-known”) multicast address, assigned by the global internet numbering authority.

T=1 indicates a non-permanently assigned (”transient”) multicast address.

SCOP is a 4-bit multicast scope value used to limit the scope of the multicast group. The values are:

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

GROUP ID identifies the multicast group, either permanent or transient, within the given scope.

8.0 IPng Routing
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’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:

  • Provider Selection (based on policy, performance, cost, etc.)
  • Host Mobility (route to current location)
  • Auto-Readdressing (route to new address)

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 “visited” on the way to a packet’s destination. This function is very similar in function to IPv4’s Loose Source and Record Route option.

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.

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:
SRC, I1, I2, I3, DST

Where the first address is the source address, the last address is the destination address, and the middle addresses are intermediate addresses.

For these examples assume that two hosts, H1 and H2 wish to communicate. Assume that H1 and H2’s sites are both connected to providers P1 and P2. A third wireless provider, PR, is connected to both providers P1 and P2.

                           ----- P1 ------
/ | \
/ | \
H1 PR H2
\ | /
\ | /
----- P2 ------

The simplest case (no use of address sequences) is when H1 wants to send a packet to H2 containing the addresses:H1, H2

When H2 replied it would reverse the addresses and construct a packet containing the addresses: H2, H1

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.

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

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’s reply would look like: H2, P1, H1

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

This would ensure that when H2 replied it would enforce H1’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

The address sequence facility of IPng can be used for provider selection, mobility, and readdressing. It is a simple but powerful capability.

9.0 IPng Quality-of-Service Capabilities
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 “real-time” 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 “multi- media” or “real-time” applications.

9.1 Flow Labels 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 “real-time” 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.

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’s packets themselves, e.g., in a hop-by-hop option.

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.

A flow label is assigned to a flow by the flow’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.

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].

Routers are free to “opportunistically” 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 “remember” 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.

9.2 Priority 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 “backs off” 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., “real-time” packets being sent at a constant rate.For congestion-controlled traffic, the following Priority values are recommended for particular application categories:

0 Uncharacterized traffic
1 “Filler” traffic (e.g., netnews)
2 Unattended data transfer (e.g., email)
3 (Reserved)
4 Attended bulk transfer (e.g., FTP, HTTP, NFS)
5 (Reserved)
6 Interactive traffic (e.g., telnet, X)
7 Internet control traffic (e.g., routing protocols, SNMP)

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.

10. IPng Security
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 “IPng Authentication Header”, 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.

The second security extension header provided with IPng is the “IPng Encapsulating Security Header” [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.

11. IPng Transition Mechanisms
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].

The IPng transition mechanisms provides a number of features, including:

  • 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.
  • 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.
  • 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.
  • 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:
  • An IPv6 addressing structure that embeds IPv4 addresses within IPv6 addresses, and encodes other information used by the transition mechanisms.
  • A model of deployment where all hosts and routers upgraded to IPv6 in the early transition phase are “dual” capable (i.e. implement complete IPv4 and IPv6 protocol stacks).
  • 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.
  • 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.

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.

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.

12. Why IPng?


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.

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.

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 “plug and play” installation.

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.

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.

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 “flag” 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.

Posted in Networking, Opetaring System | No Comments »

Linux bash syntax

Posted by petanidigital on January 20, 2008

  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 continue builtins may be used to control loop execution.

Evaluating expressions:

  Using brackets to Group and expand expressions
Conditional expressions
Arithmetic expressions
Escape Chars, delimiters and Quotes
Command Substitution

Working with the bash Shell:

  vi editor     A one page reference to the vi editor
Keyboard Cursor control - Cut & paste
Job Control Suspend and resume a process
Prompt Prompt variable
### Comment / Remark
Scripts Writing Shell Scripts
BashBangSplat Pronunciation guide for unix

Posted in Linux, Networking, Opetaring System | No Comments »

An A-Z Index of the Linux BASH command line

Posted by petanidigital on January 20, 2008

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 table manipulator for Linux
chgrp Change group ownership
chmod Change access permissions
chown Change file owner and group
chroot Run a command with a different root directory
cksum Print CRC checksum and byte counts
clear Clear terminal screen
cmp Compare two files
comm Compare two sorted files line by line
command Run a command - ignoring shell functions
continue Resume the next iteration of a loop
cp Copy one or more files to another location
cron Daemon to execute scheduled commands
crontab Schedule a command to run at a later time
csplit Split a file into context-determined pieces
cut Divide a file into several parts

date Display or change the date & time
dc Desk Calculator
dd Data Dump - Convert and copy a file
ddrescue Data recovery tool
declare Declare variables and give them attributes
df Display free disk space
diff Display the differences between two files
diff3 Show differences among three files
dig DNS lookup
dir Briefly list directory contents
dircolors Colour setup for `ls’
dirname Convert a full pathname to just a path
dirs Display list of remembered directories
du Estimate file space usage

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

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

gawk Find and Replace text within file(s)
getopts Parse positional parameters
grep Search file(s) for lines that match a given pattern
groups Print group names a user is in
gzip Compress or decompress named file(s)

hash Remember the full pathname of a name argument
head Output the first part of file(s)
history Command History
hostname Print or set system name

id Print user and group id’s
if Conditionally perform a command
ifconfig Configure a network interface
import Capture an X server screen and save the image to file
install Copy files and set attributes

join Join lines on a common field

kill Stop a process from running

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

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

netstat Networking information
nice Set the priority of a command or job
nl Number lines and write files
nohup Run a command immune to hangups
nslookup Query Internet name servers interactively

passwd Modify a user password
paste Merge lines of files
pathchk Check file name portability
ping Test a network connection
popd Restore the previous value of the current directory
pr Prepare files for printing
printcap Printer capability database
printenv Print environment variables
printf Format and print data
ps Process status
pushd Save and then change the current directory
pwd Print Working Directory

quota Display disk usage and limits
quotacheck Scan a file system for disk usage
quotactl Set disk quotas

ram ram disk device
rcp Copy files between two machines.
read read a line from standard input
readonly Mark variables/functions as readonly
remsync Synchronize remote files via email
return Exit a shell function
rm Remove files
rmdir Remove folder(s)
rsync Remote file copy (Synchronize file trees)

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

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

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

v Verbosely list directory contents (`ls -l -b’)
vdir Verbosely list directory contents (`ls -l -b’)
vi Text Editor

watch Execute/display a program periodically
wc Print byte, word, and line counts
whereis Report all known instances of a command
which Locate a program file in the user’s path.
while Execute commands
who 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

xargs Execute utility, passing constructed argument list(s)
yes Print a string until interrupted

.period Run commands from a file
###

Posted in Linux, Opetaring System | No Comments »

UNIX / Linux Command Summary

Posted by petanidigital on January 20, 2008

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

& operator
execute a command as a background process.

banner
prints the specified string in large letters. Each argument may be upto 10 characters long.

break
is used to break out of a loop. It does not exit from the program.

Cal
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.

Cal [[ month] year]

Calendar
Displays contents of the calendar file

case operator
The case operator is used to validate multiple conditions.

Case $string in

Pattern 1)
Command list;;
Command list;;

Pattern 3)
Command list;;
easc

cat
(for concatenate) command is used to display the contents of a file. Used without arguments it takes input from standard input is used to terminate input.

cat [filename(s)]
cat > [filename]
Data can be appended to a file using >>

Some of the available options are :
Cat [-options] filename(S)
-s silent about files that
cannot be accessed
-v enables display of non printinging characters (except tabs, new lines, form-

feeds)
-t when used with –v, it causes tabs to be printed as ^I’s
-e when used with –v, it causes $ to be printed at the end of each line
The –t and –e options are ignored if the –v options is not specified.

cd
Used to change directories

chgrp
Changes the group that owns a file.
Chgrp [grou –id] [filename]

chmod
Allows file permissions to be changed for each user. File permissions can be changed only by the owner (s).
Chmod [+/-][rwx] [ugo] [filename]

chown
Used to change the owner of a file.
The command takes a file(s) as source files and the login id of another user as the target.
Chown [user-id] [filename]

cmp
The cmp command compares two files (text or binary) byte-by-byte and displays the first occurrence where the files differ.
Cmp [filename1] [filename2] -1 gives a long listing

comm.
The comm command compares two sorted files and displays the instances that are common. The display is separated into 3 columns.
Comm. filename1 filename2
first displays what occurs in first files but not in the second
second displays what occurs in second file but not in first
third displays what is common in both files

continue statement
The rest of the commands in the loop are ignored. It moves out of the loop and moves on the next cycle.

cp
The cp (copy) command is used to copy a file.
Cp [filename1] [filename2]

cpio(copy input/output)
Utility program used to take backups.
Cpio operates in three modes:
-o output
-i input
-p pass

creat()
the system call creates a new file or prepares to rewrite an existing file. The file pointer is set to the beginning of file.
#include
#include
int creat(path, mode)

char *path;
int mode;

cut
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.
Cut [-ef] [column/fie,d] filename
Cut-d “:” –f1,2,3 filename
Where –d indicates a delimiter specified within “:”

df
used to find the number of free blocks available for all the mounted file systems.
#/etc/df [filesystem]

diff
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.
Diff filename1 filename2

echo
The echo command echoes arguments on the command line.
echo [arguments]

env
Displays the permanent environment variables associated with a user’s login id

exit command
Used to stop the execution of a shell script.

expr command
Expr (command) command is used for numeric computation.
The operators + (add), -(subtract), *(multiplu), /(divide), (remainder) are allowed. Calculation are performed in order of normal numeric precedence.

find
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.
To display the output on screen the –print option must be specified

for operator
The for operator may be used in looping constructs where there is repetitive execution of a section of the shell program.
For var in vall val2 val3 val4;

Do commnds; done

fsck
Used to check the file system and repair damaged files. The command takes a device name as an argument
# /etc/fsck /dev/file-system-to-be-checked.

grave operator
Used to store the standard the output of a command in an enviroment variable. (‘)

grep
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.
Grep “string” filename(s)

HOME
User’s home directory

if operator
The if operator allows conditional operator

If expression; then commands; fi
if … then…else… fi
$ if; then

commands
efile; then

commands
fi

kill
used to stop background processes

In
used to link files. A duplicate of a file is created with another name

LOGNAME
displays user’s login name

ls
Lists the files in the current directory

Some of the available options are:
-l gives a long listing
-a displays all file{including hidden files

lp
used to print data on the line printer.
Lp [options] filename(s)

mesg
The mesg command controls messages received on a terminal.
-n does not allow messages to be displayed on screen
-y allows messages to be displayed on screen

mkdir
used to create directories

more
The more command is used to dispay data one screenful at a time.
More [filename]

mv
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.
mv [source-file] [target-file]

news
The news command allows a user to read news items published by the system administrator.

ni
Displays the contents of a file with line numbers

passwd
Changes the password

paste
The paste command joins lines from two files and displays the output. It can take a number of filenames as command line arguments.
paste file1 file2

PATH
The directories that the system searches to find commands

pg
Used to display data one page (screenful) at a time. The command can take a number of filenames as arguments.
Pg [option] [filename] [filename2]…..

pipe
Operator (1) takes the output of one commands as input of another command.

ps
Gives information about all the active processes.

PS1
The system prompt

pwd
(print working directory) displays the current directory.

rm
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.
rm [filename 1] [filename 2]…

sift command
Using shift $1becomes the source string and other arguments are shifted. $2 is shifted to $1,$3to $2 and so on.

Sleep
The sleep command is used to suspend the execution of a shell script for the specified time. This is usually in seconds.

sort
Sort is a utility program that can be used to sort text files in numeric or alphabetical order
Sort [filename]

split
Used to split large file into smaller files
Split-n filename
Split can take a second filename on the command line.

su
Used to switch to superuser or any other user.

sync
Used to copy data in buffers to files

system0
Used to run a UNIX command from within a C program

tail
The tail command may be used to view the end of a file.
Tail [filename]

tar
Used to save and restore files to tapes or other removable media.
Tar [function[modifier]] [filename(s)]

tee
output that is being redirected to a file can also be viewed on standard output.

test command
It compares strings and numeric values.
The test command has two forms : test command itself If test ${variable} = value then
Do commands else do commands

File
The test commands also uses special operators [ ]. These are operators following the of are interpreted by the shell as different from wildcard characters.
Of [ -f ${variable} ]

Then
Do commands
Elif
[ -d ${variable} ]

then
do commands

else
do commands

fi
many different tests are possible for files. Comparing numbers, character strings, values of environment variables.

time
Used to display the execution time of a program or a command. Time is reported in seconds.
Time filename values

tr
The tr command is used to translate characters.
tr [-option] [string1 [string2]]

tty
Displays the terminal pathname

umask
Used to specify default permissions while creating files.

uniq
The uniq command is used to display the uniq(ue) lines in a sorted file.
Sort filename uniq

until
The operator executes the commands within a loop as long as the test condition is false.

wall
Used to send a message to all users logged in.
# /etc/wall message

wait
the command halts the execution of a script until all child processes, executed as background processes, are completed.

wc
The wc command can be used to count the number of lines, words and characters in a fine.
wc [filename(s)]
The available options are:
wc –[options] [filename]
-1
-w
-c
while operator
the while operator repeatedly performs an operation until the test condition proves false.

$ while
Ø do

commands
Ø done

who
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.
The syntax of the who command is who [options]

write
The write command allows inter-user communication. A user can send messages by addressing the other user’s terminal or login id.
write user-name [terminal number]

Posted in Debian, Linux, Mandriva, Networking, Opetaring System, Red hat, Ubuntu, Welcome | No Comments »

Root Access with sudo and gksudo Root Access with sudo and gksudo

Posted by petanidigital on January 20, 2008

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 “gksudo appname“.

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.

Double click on the root account and you will be presented with this screen. You may change the root password from there.

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 “startx”.

To add new users to sudo, open the terminal and type “sudo usermod -G admin username“. If the user is already a member of other groups, you’ll want to add the -a option, like so: “sudo usermod -a -G admin username“.

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 “Executing system administration tasks” and they will be able to sudo.

Posted in Debian, Networking, Opetaring System, Ubuntu | No Comments »

Komentar