This page will guide you to material that will help you get
started using Linux®. Linux is not UNIX®, although it is intended to be
very UNIX-like. IBM has offerings in both the Linux and the UNIX spheres—as well
as many others.
The
Linux zone of
developerWorks
contains hundreds of articles, tutorials, and tips to help developers with Linux
application development and system administration.
But if you are trying to find your way in a new topic, all of that information
can be overwhelming. This New to Linux page provides an overview for readers who
would like to learn about Linux but don't know where to start. It places all the
Linux basics in context and ties together relevant developerWorks articles,
tutorials, and tips, as well as IBM learning services education, workshops, and
IBM products for your further investigation.
In the simplest terms, Linux is an operating system. It was created in October
1991 by a University of Helsinki student named Linus Torvalds (Linux stands for
Linus's UNIX). Linux itself is actually just the kernel; it implements
multitasking and multiuser functionality, manages hardware, allocates memory, and
enables applications to run.
The average user will never be interested enough in any operating system to want
to know about things like kernel internals. Only the truly dedicated -- those who
have no personal lives, or those who are being paid to do this kind of work -- are
going to want to explore these intricacies.
But even if you never descend to the giddy depths of kernel hacking yourself, it
is reassuring to know that you can easily hire a contractor or firm to do this
work for you; to commission such modifications for a proprietary system is very
often a more difficult and more costly undertaking.
For the beginner, probably the most important thing about the kernel that you
need to remember is that odd-numbered kernel versions (in other words, 2.3, 2.5,
2.7) are the experimental, development kernel. Stable, release kernels carry even
numbers (in other words, 2.4, 2.6, 2.8).
A typical Linux distribution includes the Linux kernel, but it also
contains many application programs and tools. For the most part, many system- and
user-level tools found in a Linux distribution come from the Free Software
Foundation's GNU project (GNU standing for "GNU's Not UNIX").
Both the Linux kernel and the GNU tools suite are released under the GNU General
Public License, or GNU GPL. If you are not already familiar with the GNU GPL, the
best way to begin to understand it is to go and read it. At the risk of
summarizing away some important parts, the GNU GPL is a way of setting computer
code free so that the people who use that code may meddle and experiment with it
to their hearts' content.
We highly recommend this interesting writeup of
Linux
history
from Linus Torvalds' former officemate, Lars Wirzenius.
Linux Online offers non-partisan Linux
news and information.
Linux at IBM's
Linux Line
offers Partner news, Linux learning resources, success stories, and new
development -- all with an IBM Linux focus.
The
IBM Linux
Technology Center (LTC)
works directly with the Linux community; its Web page tracks IBM contributions
to Linux and related development communities.
Invented at AT&;T Bell Labs in 1969, UNIX (the name is a play on the
earlier "Multics" operating system) is a robust, flexible, and developer-friendly
computing environment. Written originally for the Digital Equipment Corporation
(DEC) family of PDP microcomputers, this most popular of multi-user,
general-purpose operating systems has taken over roles in all areas of computing
-- even those once held by mainframes.
IBM has offerings in both the Linux and the UNIX spheres -- as well as many
others.
Some twenty-odd years into its history, UNIX began to be eclipsed -- in some of
its roles, anyway -- by Linux. Linux is not UNIX; it is merely very UNIX-like. For
some jobs, you want Linux -- for others, you still want UNIX. UNIX and Linux play
very well together, and well-written programs are extremely easy to port between
the two systems. For more information about UNIX at IBM, please see some of the
following sites.
On the software front, you can learn more about
IBM's AIX 5L UNIX operating
system.
From its earliest days IBM has been known as a world-class hardware vendor.
Check out the features offered in
IBM
pSeries UNIX computers
-- designed to most powerfully run Linux as well as UNIX.
The
IBM developerWorks
eServer zone
has articles, product help, and resources covering IBM server hardware from
Intel-based to mainframe, and software from Linux and UNIX to z/OS.
The z/OS UNIX System group offers a page of
free UNIX tools and toys
from IBMers and the community.
To learn more about Multics (Multiplexed Information and Computing Service),
visit the Multics home page.
Because it is free software, licensed under the GNU General Public License, Linux
obviates the need for programmers to keep reinventing the operations layer with
each new project. To wax metaphorical, the GNU family of tools provide
royalty-free bricks and mortar with which to begin building independent projects.
Critics of free software often voice fears that the freedoms and low cost of free
software will lead to economic disaster for the computing sector. However, it is
just as likely -- if not more likely -- that free software will do for the world
of computing what Gutenberg's printing press did for the world of Letters.
The
GNU General Public
License
explains what freedoms and responsibilities are mandated to users of free
software.
You can read more about the "philosophy" of free software -- and find a great
deal of documentation and software packages available for download -- at the
Free Software Foundation (FSF) Web site.
The
IBM
Public License (IPL)
is also a free software license. It was created with the help of FSF founder
Richard Stallman.
What you want out of your Linux system will determine which Linux system you want
and how many layers of complexity you need to understand before you begin to work
with it.
Linux is an excellent learning platform to do kernel hacking, to learn UNIX, or
to learn programming; many tools and applications are available to play games, to
do desktop publishing, or just to hang out doing e-mail and Web browsing.
It is also an excellent platform for working systems, both open and closed,
because it is so heavily customizable for free. Linux is a popular platform for
everything from middleware to embedded computing and clusters, to parallel
supercomputers and gadgets. IBM has been involved in projects to manufacture cash
registers that run on Linux, as well as the Linux wristwatch. Other developers
have used Linux on such devices as cell phones, Sony PlayStation, TiVo, and the
Sharp Zaurus.
While the GNU General Public License requires altered code to be released to the
customers who use it, it is not required that all altered code be released to the
general public (this is a key point that some critics of free software fail to
grasp). Indeed, in the case of Linux-based cash registers, it would in all
likelihood be a security risk to release the code to a wide audience. The GNU GPL
merely requires that the modified code be made available to the customers who use
it.
The
IBM developerWorks
Linux zone
is an indispensable resource for tutorials and articles covering everything from
Linux basics to advanced programming and deployment.
The proof-of-concept
Linux on a wristwatch
project was a very popular and well-received effort by IBM Research.
Learn about exciting Linux projects and on-demand computing from the
Linux at IBM portal page.
IBM Global Services offers consulting and support; its services include
everything from implementing new installations to migrating or updating old
ones. Get a feel for what IGS is doing in the Linux sphere at the
Linux services
page.
If you are completely new to Linux, or if you are using Linux as a desktop
operating system, you need to learn at least some basics about system
administration and security. Unlike commercial personal operating systems that
attempt to automate such operations, Linux does not promise to hold your hand or
to clean up after you: you have to take care of the system yourself. Luckily,
basic maintenance and basic security are pretty easy. In many ways, Linux and UNIX
administration is today much easier than administration for popular commercial
personal operating systems because it is much more transparent.
While Linux does have several windowing environments that allow you to perform
administration, the most straightforward way to control the system is at the
command line. Built in to the structure of the command-line environment are dozens
of commands and several text-based help systems.
There are a great many resources on the Web and in the real world to help you get
started with Linux. There are Web sites, articles, and books devoted to the
subject, and Linux User Groups (also known as LUGs) meet in cities and countries
around the world -- and are well-known for being very friendly even to very new
users.
The ongoing developerWorks series of
Linux skill-building
tutorials"
walks you through the fundamentals of Linux system administration.
You can transition from a Windows environment to Linux by transferring many of
your existing skills. Our
"Windows-to-Linux roadmap"
is a nine-part transitioning guide that paves the way.
The IBM developerWorks Linux zone offers many
standalone and serial tutorials
with a focus on basics; from compiling the Linux kernel and compiling and
installing software to partitioning and backing up your Linux systems.
Linux is an excellent choice as a programming platform. It is GCC compliant,
which means that you can use the GNU Project's excellent suite of programming and
debugging tools -- absolutely free, and with all of the freedoms that the GNU GPL
guarantees. Commercial programming packages, like commercial operating systems,
can cost a great deal of money. True, they are often needed for one project or
another and can be well worth the cost, but for a beginner or a learner -- and for
many professionals -- free software is simply irreplaceable. If you are using
Linux as a development platform, do not skip first learning administration and
security. It is a foolish programmer indeed who is not master of his or her own
computer.
To get trial IBM software for Linux, you can order the
Software Evaluation Kit (SEK) for Linux,
available on no-charge DVDs. The DVDs include evaluation products from
DB2®, Lotus®, Rational®, Tivoli®, and
WebSphere®, so you can build Linux applications and deploy them on IBM
middleware.
Or if you prefer, you can
download trial products
that run on Linux directly from developerWorks.
IBM Redbooks on Linux are developed
by IBM's International Technical Support Organization (ITSO) and explore a wide
range of topics for Linux developers.
Linux is by nature standards compliant. Linux developers as a rule place very
high importance on keeping the operations layer, as well as those built atop it,
open, interoperable, and standards friendly.
Often associated strongly with UNIX,
The
Open Group is a
vendor-neutral, technology-neutral, international consortium whose goal is
secure and reliable interoperability across the computing world.
The IEEE's Portable Application Standards Committee (PASC) is responsible for
the POSIX family of UNIX standards.
The
Requests for Comments (RFC) document
series
is a set of technical and organizational notes about the Internet. Maintained by
the IETF Secretariat, the RFC publication process plays an important role in the
Internet standards process.
In addition to steadfast stalwarts like Fortran and C/C++, many scripting and
other computer languages are at home on (or were even designed to work best with)
Linux. The most popular include Perl, Python, PHP, and Tcl.
Dynamic new technologies such as the Java technology and XML run swimmingly on
Linux, as do any number of more esoteric programming languages, from Logo and
Rebol to Smalltalk and many more.
The GCC home page at GNU offers
a wealth of free tools and support.
If you want to use Linux as a platform for a very advanced application or
application set, you will be interested in aspects of the system such as kernel
hacking, the differences between various filesystems, and other nitty-gritty
details.
Another skill set that is often needed for high-end applications (or games) is
fine-tuning a Linux machine, cluster, or network for optimum performance. This
includes expertise in things such as multiprocessing, threading, clusters, and
other arcane but sophisticated points of system administration. Understanding
these aspects of Linux aren't quite as gritty as actual kernel hacking, but can
nonetheless get pretty hairy.
IBM Learning Services offers classes that cover everything from the basics to
development to highly specialized skills—as well as certification (more about
this later). IBM Developer solutions offers articles and howtos on IBM products,
and the greater IBM Web site offers many resources, many if not most of which also
run on Linux. And IBM developerWorks offers articles, tutorials, and resources on
Linux as well as several other open or free technologies including XML, Wireless,
Web services, Java technology, and Grid computing.
As a Linux developer, your best source for ongoing training is the
developerWorks
Linux
zone,
where you'll find hundreds of
how-to tutorials and articles
for all skill levels.
Certification programs for Linux include consortium programs as well as
independent skills tests and company-sponsored certification. IBM developerWorks
and IBM Training offer certification tracks for building Linux expertise.
The Linux Professional Institute (LPI)
certifies Linux system administrators at two levels. Each certification level
has two exams: the 101 and 102 exams for junior-level certification
(cerification level 1), and the 201 and 202 exams for intermediate-level
certification (cerification level 2).
Linux is a superior operating system on which to run standard
applications—from office applications such as word processors and spreadsheets; to database
systems; to Web publishing and serving environments. IBM Products such as DB2,
Lotus, Tivoli, and WebSphere all run on Linux, and IBM is not the only industry
leader to recognize that Linux is an excellent platform for middleware. Though
misunderstood and very often maligned—at least, among the self-proclaimed
digerati—middleware is an essential (and for many computer users, the
essential) reason for having computers around in the first place. The open nature
of Linux allows middleware vendors to fine-tune solutions to meet users' needs in
ways that no closed system allows.
IBM's billion-dollar support of Linux makes headlines; its support of Linux
developers aims to make the job of applications programming easier. Whether
yours is a mundane or a cutting-edge project, check out the
IBM Middleware Available on Linux
matrix
and other resources at the
Linux at IBM site.
To get trial IBM software for Linux, you can order the
Software Evaluation Kit (SEK) for Linux,
available on no-charge DVDs. The DVDs include evaluation products from
DB2®, Lotus®, Rational®,
Tivoli®, and WebSphere®, so you can build Linux
applications and deploy them on IBM middleware.
Or if you prefer, you can
download trial products
that run on Linux directly from developerWorks.
Rational
software
is building a comprehensive life cycle software development solution for Linux,
leveraging Eclipse as the tool platform, which can be used by organizations to
build better software in less time.
The
DB2 for
Linux
Web site offers information, downloads, and links to learn more about IBM's
premier database system on Linux.
The
WebSphere
Portal zone
will answer all of your questions about application serving and infrastructural
middleware.
Best known for its messaging and collaboration capabilities,
Lotus software suite's integrated
functionality also allows for team conferencing, e-learning, knowledge
management, and more.
Tivoli technologies extend
systems management and integrate Linux machines with other IT systems.
Linux's openness and flexibility lend its use to work in laboratories and other
research facilities on the bleeding edge of revolutionary technological change.
Research at IBM includes all areas of information technology, from physics and
cognitive science to leading-edge application research and more. But researchers
at IBM are also involved, in many instances, in pure science. At IBM as elsewhere,
Linux is frequently in use in these settings.
Linux can easily be clustered or customized for highly original experiments or
prototypes, simulations, or tests; and the vast array of free software tools that
Linux was created to work with can be used in the same creative way. Even with all
of the exciting new technologies that are being developed today—from Grid
computing and wireless voice applications to artificial intelligence and Quantum
computing—the potential and promise of the computing age in which we live is
still largely untapped. Linux's robust and open flexibility means that it will
remain at the forefront of the development frontier for years to come.
IBM Research explores everything
from genetics to nanotechnology, and artificial intelligence to quantum
teleportation. Keep up with their latest efforts on the
IBM Research news
page.
The
IBM
Academic Initiative
partners with universities to provide academic and research offerings as well as
resources and benefits in subjects ranging from
Linux
to
Life Sciences.