 |
 |
 |
 |
Git for Subversion users, Part 2: Taking control
Git offers Linux developers a number of advantages over Subversion for
software version control, so developers working collaboratively owe it to
themselves get familiar with the basic concepts behind it. In
this installment, Ted dissects branching and merging in both Git and
Subversion, introduces "git bisect" for bisecting changes, and shows how to
resolve merge conflicts.
|
 |
25 Nov 2009 |
|
| |
Cultured Perl: Flickr, a business's bst frnd
Flickr isn't just for photo sharing and social networking; it's a
legitimate business tool. Learn how Perl programmers can use the CPAN Chart
modules to create charts and graphs, and the Flickr::Upload module to upload
the charts to Flickr.
|
 |
24 Nov 2009 |
|
| |
Charming Python: Easy Web data collection with mechanize and Beautiful Soup
For collecting data from Web pages, the mechanize library automates
scraping and interaction with Web sites. Mechanize lets you fill in forms and
set and save cookies, and it offers miscellaneous other tools to make a Python
script look like a genuine Web browser to an interactive Web site. A
frequently used companion tool called Beautiful Soup helps a Python program
makes sense of the messy "almost-HTML" that Web sites tend to
contain.
|
 |
24 Nov 2009 |
|
| |
Linux introspection and SystemTap
Modern operating system kernels provide the means for introspection, the
ability to peer dynamically within the kernel to understand its behaviors.
These behaviors can indicate problems in the kernel as well as performance
bottlenecks. With this knowledge, you can tune or modify the kernel to avoid
failure conditions. Discover an open source infrastructure called SystemTap
that provides this dynamic introspection for the Linux kernel.
|
 |
09 Nov 2009 |
|
| |
Next-generation Linux file systems: NiLFS(2) and exofs
Linux continues to innovate in the area of file systems. It supports the
largest variety of file systems of any operating system. It also provides
cutting-edge file system technology. Two new file systems that are
making their way into Linux include the NiLFS(2) log-structured file system
and the exofs object-based storage system. Discover the purpose behind these
two new file systems and the advantages that they bring.
|
 |
31 Oct 2009 |
|
| |
Virtual appliances and the Open Virtualization Format
Not only has virtualization advanced the state of the art in maximizing
server efficiency, it has also opened the door to new technologies that were not possible before. One of these technologies is the virtual appliance, which
fundamentally changes the way software is delivered, configured, and managed.
But the power behind virtual appliances lies in the ability to freely share
them among different hypervisors. Learn the ideas and benefits behind virtual
appliances, and discover a standard solution for virtual appliance
interoperability called the Open Virtualization Format.
|
 |
20 Oct 2009 |
|
| |
Learn Linux, 101: Streams, pipes, and redirects
If you think streams and pipes make a Linux expert sound like a
plumber, here's your chance to learn about them and how to redirect and split
them. You even learn how to turn a stream into command arguments. You can
use this material in this article to study for the LPI 101 exam for
Linux system administrator certification, or just to learn for
fun.
|
 |
14 Oct 2009 |
|
| |
Linux virtualization and PCI passthrough
Processors have evolved to improve performance for virtualized
environments, but what about I/O aspects? Discover one such I/O performance
enhancement called device (or PCI) passthrough. This innovation improves
performance of PCI devices using hardware support from Intel (VT-d) or AMD
(IOMMU).
|
 |
13 Oct 2009 |
|
| |
Learn Linux, 101: A roadmap for LPIC-1
Use this roadmap to find IBM developerWorks articles that will help you
learn and review
basic Linux tasks. And if you're also pursuing professional certification as
a Linux system administrator,
these articles can help you study for the Linux
Professional Institute Certification (LPIC) exam 101 and exam 102.
This roadmap is organized according to the
43 objectives in the 101 and 102 exams, which you are required to pass for
LPI level 1 certification.
|
 |
08 Oct 2009 |
|
| |
Reduce Linux power consumption, Part 3: Tuning results
This three-part series is your starting point for tuning your system for
power efficiency. In Part 3, the author compares the performance of the five
in-kernel governors in both tuned and untuned states to show you how to
optimize a Linux-based System x server.
|
 |
07 Oct 2009 |
|
| |
Cloud computing with Linux and Apache Hadoop
Many companies like IBM, Google, VMWare, and Amazon have provided products and
strategies for Cloud computing. This article shows you how to use Apache Hadoop to
build a MapReduce framework to make a Hadoop Cluster and how to create a sample
MapReduce application which runs on Hadoop. You will also learn how to set up a
time/disk-consuming task on the cloud.
|
 |
06 Oct 2009 |
|
| |
Learn Linux, 101: File and directory management
You've probably heard that everything in Linux is a file,
so start on the right path with a solid grounding in file and directory
management -- finding, listing, moving, copying, and archiving.
You can use this material in this article to study for the LPI 101
exam for Linux system administrator certification, or just to learn for fun.
|
 |
06 Oct 2009 |
|
| |
Enable multipath SAN booting with DS8000 and DMMP
Booting servers from storage area networks with multiple paths can
provide significant benefits for the complex, modern data center environment
-- benefits such as improving availability and increasing your reach when it
comes to easier management and maintainance and in providing reliability. To
boot your Linux system from a SAN device, you'll need to set up a SAN boot
operating system to your storage with multipath driver support; that's where
this article comes in. The author will walk you through setting up a SAN-boot
Linux system on the IBM System Storage DS8000 with the multipath function
supported by the Device-Mapper MultiPath (DMMP) feature.
|
 |
23 Sep 2009 |
|
| |
Reduce Linux power consumption, Part 2: General and governor-specific settings
This three-part series is your starting point for tuning your system for
power efficiency. In Part 2, follow a step-by-step guide on the general
settings of the Linux CPUfreq subsystem and get more details on the five
in-kernel governors -- performance, powersave, userspace, ondemand, and
conservative -- and their settings.
|
 |
23 Sep 2009 |
|
| |
Reduce Linux power consumption, Part 1: The CPUfreq subsystem
This three-part series is your starting point for tuning your system for power
efficiency.
In Part 1, get up to
speed on the components and concepts you need to fine-tune a Linux-based
System x server for power efficiency. Learn how to enable the
Linux CPUfreq subsystem, get instruction on C and P states, and
determine which of the five in-kernel governors you need to boost
power efficiency on your system.
|
 |
15 Sep 2009 |
|
| |
Linux on POWER: Distribution migration and binary compatibility
considerations
Learn about binary compatibility as it relates to the different
operating environments that run on Linux on POWER. Examine the two Linux on
POWER distributions supported by IBM, Red Hat Enterprise Linux (RHEL) and SUSE
LINUX Enterprise Server (SLES), with regard to the binary compatibility
between their respective releases. In general, a smooth transition from the
2.6.9 kernel-based RHEL4 to the 2.6.18 kernel-based RHEL5 is made possible by
the stable Application Binary Interface (ABI) maintained between the releases.
The same can be said when moving from the 2.6.5 kernel-based SLES9 to the
2.6.16 kernel-based SLES10. Learn about new technologies that can provide
performance enhancements for a Linux on POWER application, and follow steps to
ensure binary compatibility across multiple distributions in the future.
[Additional items have been added to the Resources section. -Ed.]
|
 |
09 Sep 2009 |
|
| |
Guide to porting from Solaris to Linux on POWER
Accelerate your porting efforts by following this six-step guide. Learn
the differences between Solaris and Linux on POWER that you commonly encounter
during a port. Get an introduction to the development environment for Linux
running on IBM POWER processor-based systems, and see how Sun's compiler/linker
switches compare with those of GNU GCC and the IBM native compiler. Finally,
learn about tools for performance analysis and software packaging for Linux on
POWER. [This article has been updated to reflect the latest product versions.
-Ed.]
|
 |
08 Sep 2009 |
|
| |
Anatomy of the Linux virtual file system switch
Linux is the very definition of flexibility and extensibility. Take the
virtual file system switch (VFS). You can create file systems on a variety of
devices, from traditional disk, USB flash drives, memory, and other storage
devices. You can even embed a file system within the context of another file system.
Discover what makes the VFS so powerful, and learn its major
interfaces and processes.
|
 |
31 Aug 2009 |
|
| |
Learn Linux, 101: The Linux command line
GUIs are fine, but to unlock the real power of Linux, there's no
substitute for the command line. In this article, Ian Shields introduces
you to some of the major features of the bash shell, with an emphasis on the features that are
important for LPI certification. By the end of this article, you will
be comfortable using basic Linux commands like echo and exit,
setting environment variables, and gathering system information.
[The first two notes following Listing 8 have been updated to correct the process IDs
(PIDs). -Ed.]
|
 |
31 Aug 2009 |
|
| |
Learn Linux, 101: Text streams and filters
There's a lot more to text manipulation than cut and paste,
particularly when you aren't using a GUI. Study for the Linux Professional
Institute Certification (LPIC) 101 exam, or learn
for fun. In this article, Ian Shields introduces you to text manipulation on
Linux using filters from the GNU textutils package. By the end of this
article, you will be manipulating text like an expert.
|
 |
26 Aug 2009 |
|
| |
Git changes the game of distributed Web development
Version control systems are a core component of most development projects,
regardless of whether you're developing an application, a Web site, or an operating
system. Most projects involve multiple developers, often working at widely separated
physical locations. Distributed version control systems are nothing new, but the Git version
control system provides unique support for collaboration and interaction among developers.
|
 |
25 Aug 2009 |
|
| |
Three ways to recycle commodity hardware with Linux
Outdated computer hardware may be too old to rely on, but it represents
a value to your organization -- whether in an office or at home. Discover how
you can realize that value by repurposing older machines with Linux.
|
 |
22 Aug 2009 |
|
| |
Boot Linux on the Beagle Board
The Beagle Board is an open-hardware single-board computer that is both
inexpensive and capable of running Linux at a reasonable speed. Get to know
the Beagle Board, and learn how to get a Linux development environment
together on the cheap.
|
 |
18 Aug 2009 |
|
| |
Thoughts from OSCON 2009: Open government, concurrency
The O'Reilly Open Source Convention (OSCON) is nothing if not a place
to collect one's deeper thoughts around software development. The 2009
convention offered more than its share of inspiration, but David Mertz
whittled the schedule down and focused on two very different but important
areas: open government and concurrency.
|
 |
12 Aug 2009 |
|
| |
Git for Subversion users, Part 1: Getting started
Distributed version control systems (DVCSs) offer a number of advantages
over centralized VCSs, and for Subversion users looking to explore this model,
Git is a great place to start. Using Subversion as a baseline, this first of
two articles shows how to install Git, set up a remote repository, and begin
using basic Git commands.
|
 |
04 Aug 2009 |
|
| |
Make the most of large drives with GPT and Linux
Once a faraway problem, an important barrier in disk storage is fast
becoming a reality: the venerable master boot record (MBR) partitioning scheme
can't fully handle disks larger than 2TB. With 1TB-hard disks now common and
2TB-disks becoming available, forward-looking individuals are thinking about
alternatives to the MBR partitioning scheme. The heir apparent is the GUID
Partition Table (GPT). Learn how to make sure your Linux system is fully
prepared for the future of disk storage.
|
 |
28 Jul 2009 |
|
| |
Linux tip: Creating a pixel ruler from the command line
Learn how to use the Linux command line and some basic Bash scripting
techniques to draw lines and text on images using ImageMagick. And create a
pixel ruler along the way.
|
 |
23 Jul 2009 |
|
| |
Build virtual appliances using the OVF Toolkit
The Open Virtualization Format (OVF) is an open standard for packaging
and distributing virtual appliances (or software) that is to be run in virtual
machines. The standard describes an "open, secure, portable, efficient and
extensible format for the packaging and distribution of software to be run in
virtual machines"; the standard is designed so that it is not tied to any
particular hypervisor or processor architecture. In this article, the authors
describe the OVF standard and the OVF Toolkit developed by IBM.
|
 |
16 Jul 2009 |
|
| |
Create an ooRexx build environment on Linux KVM
Construct an on-demand software build service using ooRexx that uses the
Linux Kernel Virtual Machine (KVM) for better performance. KVM acts as the
host for the guest operating systems that build the target software for the
user. The Apache Web server controls the builds and stores the results for
later retrieval by the user. Learn how to set up the build server and create
guests, customize build requests, and organize and access build
results.
|
 |
14 Jul 2009 |
|
| |
Avoid common errors in UNIX and Linux
Discover the most common errors in UNIX and Linux -- and
how to avoid them.
|
 |
14 Jul 2009 |
|
| |
Scripting the Vim editor, Part 2: User-defined functions
User-defined functions are an essential tool for decomposing an
application into correct and maintainable components, in order to manage the
complexity of real-world programming tasks. This article (the second in a
series) explains how to create and deploy new functions in the Vimscript
language, giving several practical examples of why you might want
to.
|
 |
07 Jul 2009 |
|
| |
Producing documentation and reusing information in XML, Part 1: Document publishing using XML
XML provides a way to identify data items and subcomponents within any structured data set, but has its roots in documentation development and production. Robust, open standards for XML document markup and a rich set of freely available tools for XML document parsing and format conversion make it easy to install and configure a complete documentation development and formatting environment on any UNIX or Linux system.
|
 |
07 Jul 2009 |
|
| |
SolarNetOne: Solar-powered networking for anyone
In many parts of the world, the power grid is shoddy, computers are
scarce, and connectivity is even rarer. Thus, as with many other modern
practices and technologies, populations are increasingly split into the
"computing haves" and the "computing have-nots." But many are addressing the
divide. SolarNetOne is a turnkey Internet hotspot -- power, computers, and
satellite uplink -- that you can install virtually anywhere, for less
than the cost of a subcompact car.
|
 |
30 Jun 2009 |
|
| |
IBM Lotus Domino, Linux, virtualization, scalability: No longer mutually exclusive terms
Tired of having to force fit IBM® Lotus® Domino® into your infrastructure? With the latest release of 64-bit Lotus Domino on Linux® and virtualization, you now can implement large-scale enterprise environments with Lotus Domino on Linux in a single footprint. This article documents the benchmarks that have been done and the results of early adopters of this solution, showing you how your infrastructure can fit and grow with Lotus Domino.
|
 |
29 Jun 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 5
This five-part series walks you through building a simple photo-sharing
Web site using Perl and Apache to access Amazon's Simple Storage Service (S3)
and SimpleDB. In this final installment, examine the full mod_perl site's
templates, including one for indexing, three for uploading (general, S3 forms,
and URL additions), one for image and comment browsing, and one to browse
comments recursively for an image (or threading down).
|
 |
23 Jun 2009 |
|
| |
Introducing KDE 4 plasmoids
KDE 4 includes many exciting new technologies, including Plasma, a
feature that forms the desktop shell of KDE 4. See how to write simple
Plasma applets (known as "plasmoids") to greatly improve the
desktop experience and how to turn a plasmoid into a simple
memory monitor.
|
 |
14 Jun 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 4
This five-part series walks you through building a simple photo-sharing
Web site using Perl and Apache to access Amazon's Simple Storage Service (S3)
and SimpleDB. In this installment, examine the full mod_perl site's code base,
including how to configure the top level, what to do with the handlers, and
how to set up external dependencies.
|
 |
14 Jun 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 3
This five-part series walks you through building a simple photo-sharing
Web site using Perl and Apache to access Amazon's Simple Storage Service (S3)
and SimpleDB. In this installment, follow your site's interaction with
SimpleDB by learning how the URL creates a SimpleDB record for the uploaded
file. Also learn how to create, edit, and delete comments as SimpleDB records
on a photo for a particular user.
|
 |
14 Jun 2009 |
|
| |
Protein modeling with Blue Gene/L
The Blue Gene/L supercomputer provides scientists with the cutting-edge
computing power and complex data-visualization tools they need to stay at the
forefront of their disciplines. Learn how this technology lets computational
molecular biologists create protein folding and misfolding simulations to
better understand these complex molecules.
|
 |
09 Jun 2009 |
|
| |
Anatomy of a Linux hypervisor
One of the most important modern innovations of Linux is its
transformation into a hypervisor (or, an operating system for other operating
systems). A number of hypervisor solutions have appeared that use Linux as the
core. This article explores the ideas behind the hypervisor and two particular
hypervisors that use Linux as the platform (KVM and Lguest).
|
 |
31 May 2009 |
|
| |
Linux: Lean, clean, and green
Green IT is one of the hottest of today's technology trends, and the
GNU/Linux community has risen to the challenge. Along with several corporate
partners, the GNU/Linux operating system provides solutions for dealing with
power consumption, carbon emissions, and e-waste.
|
 |
26 May 2009 |
|
| |
Install the GNU ARM toolchain under Linux
Many tools are available for programming various versions of ARM cores,
but one particularly popular set is the GNU ARM toolchain. Learn more about
embedded development using the ARM core, as well as how to install the GNU
tools and begin using them.
|
 |
20 May 2009 |
|
| |
Scripting the Vim editor, Part 1: Variables, values, and expressions
Vimscript is a mechanism for reshaping and extending the Vim editor.
Scripting allows you to create new tools, simplify common tasks, and even
redesign and replace existing editor features. This article (the first in a
series) introduces the fundamental components of the Vimscript programming
language: values, variables, expressions, statements, functions, and commands.
These features are demonstrated and explained through a series of simple
examples.
|
 |
06 May 2009 |
|
| |
Cloud computing with Linux thin clients
Explore cloud computing from a Linux perspective and discover some of
the most innovative and popular Linux-based solutions -- with a particular
view toward environmentally beneficial options.
|
 |
28 Apr 2009 |
|
| |
Thanks for the memory
Running out of Java heap isn't the only cause of a java.lang.OutOfMemoryError. If native memory runs out, OutOfMemoryErrors that your normal debugging techniques won't be able to solve can occur. This article explains what native memory is, how the Java runtime uses it, what running out of it looks like, and how to debug a native OutOfMemoryError on Windows and Linux. A companion article covers the same topics for AIX systems.
|
 |
21 Apr 2009 |
|
| |
Migrate to a virtual Linux environment with Clonezilla
$@!LessThan!@$!--In this article, l--$@!GreaterThan!@$Learn how to use the open source Clonezilla Live
cloning software to convert your physical server to a virtual one.
Specifically, see how to perform a physical-to-virtual system migration using
an image-based
method.
|
 |
21 Apr 2009 |
|
| |
Agile planning in real life
Are you part of a team that wants to get on the agile planning
bandwagon? Are you using iterative development and still stuck doing
"waterations"? In this article, the author puts his experience assisting
and teaching IBM product teams into a roadmap that
answers the question: "How do I start
developing releases with agile planning?" He covers the basics of agile
planning and shares his insights into what works and what doesn't. Editor's
note: Figures 1 and 4 were updated and other corrections were added at the author's
request.
|
 |
15 Apr 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 2
This five-part series walks you through building a simple
photo-sharing Web site using Perl and Apache to access Amazon's Simple Storage
Service (S3) and SimpleDB. In this installment, learn how to upload a file
into S3 from a Web page through an HTML form to minimize the load on the
server, while maintaining a tight security policy.
|
 |
08 Apr 2009 |
|
| |
Charming Python: Distributing computing with RPyC
RPyC is a seamless library for integrating $@!LessThan!@$!--000 and interacting--$@!GreaterThan!@$ Python
processes on many machines/processes. This article looks at the advantages or
drawbacks RPyC has over other distributed Python frameworks such as XML-RPC
and Pyro. A few simple examples of using RPyC are included to give you a
feel for the library.
|
 |
31 Mar 2009 |
|
| |
Cultured Perl: Perl and the Amazon cloud, Part 1
This five-part series walks you through building a simple
photo-sharing Web site using Perl and Apache to access Amazon's Simple Storage
Service (S3) and SimpleDB. In this installment, get a feel for the benefits and
drawbacks of S3 and SimpleDB by taking a tour of their
architectures and starting to design your photo-sharing site.
|
 |
31 Mar 2009 |
|
| |
Ganglia and Nagios, Part 2: Monitor enterprise clusters with Nagios
This is the second article in a two-part series that looks at a hands-on
approach to monitoring a data center using the open source tools Ganglia and
Nagios. In Part 2, learn how to install and configure Nagios, the popular open
source computer system and network monitoring application software that
watches hosts and services, alerting users when things go wrong. The article
also shows you how to unite Nagios with Ganglia (from Part 1) and add two
other features to Nagios for standard clusters, grids, and clouds to help with
monitoring network switches and the resource manager.
|
 |
25 Mar 2009 |
|
| |
Linux kernel advances
Life's certainties include death and taxes but also the advancement of
the GNU/Linux operating system, and the last two kernel releases did not
disappoint. The 2.6.28 and 2.6.29 releases contain an amazing amount of new
functionality, such as a cutting-edge enterprise storage protocol, two new
file systems, WiMAX broadband networking support, and storage integrity
checking. Discover why it's time to upgrade.
|
 |
24 Mar 2009 |
|
| |
Speaking UNIX: The Squirrel portable shell and scripting language
If you don't want to commit to the idiosyncrasies of a specific shell running on a particular
platform, try the Squirrel Shell. The Squirrel Shell provides an advanced, object-oriented
scripting language that works equally well on UNIX, Linux, Mac OS X, and Windows systems.
Write a script once, and run it anywhere.
|
 |
17 Mar 2009 |
|
| |
Linux tip: Finding rootfs during boot
As a Linux administrator, you may encounter rootfs
errors like"cannot mount rootfs" and "kernel panic" when you try to reboot a server
after attaching volumes from
external storage or even after installing a new Linux operating system.
This article outlines the Linux booting process on an x86 platform, shows why
this problem happens, and offers four tips to avoid it or fix it.
|
 |
11 Mar 2009 |
|
| |
Understanding and configuring PAM
The Pluggable Authentication Module (PAM) API exposes a set of
functions that application programmers use for security-related
functions like user authentication, data encryption, LDAP, and more. In this
article, get a basic guide to the PAM model on Linux, see how to
configure PAM, and learn how to design a sample PAM
login application in 10 easy steps.
|
 |
10 Mar 2009 |
|
| |
Ganglia and Nagios, Part 1: Monitor enterprise clusters with Ganglia
This is the first article in a two-part series that looks at a hands-on
approach to monitoring a data center using the open source tools Ganglia and
Nagios. In Part 1, see how to install and configure
Ganglia, the scalable, distributed monitoring system for high-performance
clusters based on a hierarchical design. Also learn how to
add more monitoring capability by writing Ganglia plug-ins and by enabling
external-source spoofing.
|
 |
04 Mar 2009 |
|
| |
Automate VM deployment
Sometimes you need to create an configure a bundle of virtual machines
at the same time, but manually cloning and configuring the lot promises to be
an unhappy task. In this article, see how to develop an automatic VM
deployment solution so you can launch and activate batches of self-configuring
VMs quickly. And as a bonus, you'll discover an approach that lets you run
customized applications separately for each deployed virtual machine after
system start.
|
 |
04 Mar 2009 |
|
| |
Tour the Linux generic SCSI driver
Computers control and transfer data to SCSI devices via SCSI commands.
In this article, the author introduces some of the SCSI commands and methods
of executing SCSI commands when using SCSI API in Linux. He provides
background on the SCSI client/server model and the storage SCSI command. Next,
he explains the Linux generic SCSI driver API and offers an example of using a
system that focuses on executing the inquiry command using the generic
driver.
|
 |
25 Feb 2009 |
|
| |
Develop a GPS-aware application for the Nokia N810, Part 3: Finish the job
This series of articles shows how to build a
global positioning system (GPS)-aware application
using the Linux-based Nokia N810 Internet Tablet
and its built-in GPS receiver. In this last of three installments,
you'll put the final touches to the GPS trip tracker and
get it ready for release.
|
 |
18 Feb 2009 |
|
| |
Anatomy of ext4
The fourth extended file system, or ext4, is the next generation of
journaling file systems, retaining backward compatibility with the previous
file system, ext3. Although ext4 is not currently the standard, it will be the
next default file system for most Linux distributions. Get to know ext4, and
discover why it will be your new favorite file system.
|
 |
17 Feb 2009 |
|
| |
Cloud computing with Linux
Cloud computing and storage convert physical resources (like processors and
storage) into scalable and shareable resources over the Internet (computing and storage
"as a service"). Although not a new concept, virtualization makes this much more scalable
and efficient through the sharing of physical systems through server virtualization. Cloud
computing gives users access to massive computing and storage resources without their
having to know where those resources are or how they're configured. As you might expect,
Linux plays a huge role. Discover cloud computing, and learn why there's a penguin behind
that silver lining. [And see the new Resource links to the latest developerWorks content on cloud computing. -Ed]
|
 |
11 Feb 2009 |
|
| |
Perform uniform mounting with generic NFS
To efficiently achieve uniform mounting in the presence of multiple,
simultaneous NFS version exports, you need a generic NFS mount utility. Learn
how a generic NFS mount utility
can help reduce handling multiple NFS versions and simplify the management of
those versions. The article
describes the concept of the generic NFS mount, outlines the advantages and
applications of the system, and gives some overall design
details.
|
 |
11 Feb 2009 |
|
| |
Five network/system tricks for Linux on System z
Bringing up Linux on an IBM System z machine should be fairly easy, but
problems can crop up. If you've had problems, try out these workarounds for
annoying obstacles to starting Linux on an S/390 system: "route-unknown"
messages, bad network service behaviors, file system corruption on shutdown,
too-lengthy boot-path-device processes, and Virtual LAN hardware installation.
Added bonus: Warnings (and workarounds) for two SUSE bugs.
|
 |
11 Feb 2009 |
|
| |
LXC: Linux container tools
Containers provide lightweight virtualization that lets you isolate
processes and resources without the need to provide instruction interpretation
mechanisms and other complexities of full virtualization. In this step-by-step
tour of the container tools called Linux Containers (LXC), the author
introduces you to the tools and shows how to get up and running on
them.
|
 |
03 Feb 2009 |
|
| |
Secure Linux containers cookbook
Lightweight containers, otherwise known as Virtual Private Servers (VPS)
or Jails, are often thought of as a security tools designed to confine
untrusted applications or users. However, as presently constructed, these
containers do not provide adequate security guarantees. By strengthening these
containers using SELinux or Smack policy, a much more secure container can be
implemented in Linux. This article shows you how to create a more secure
Linux-Security-Modules-protected container. Both
the SELinux and Smack policy are considered works in progress, to be improved
upon with help from their respective communities.
|
 |
03 Feb 2009 |
|
| |
Python 3 primer, Part 2: Advanced topics
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards compatibility with
the 2.x line but has cleaned up some syntax issues. This second article builds
on the previous article. In Part 2 of this two-part series, discover more new Python features
and details on more advanced topics such as changes in abstract base classes,
metaclasses, and decorators.
|
 |
30 Jan 2009 |
|
| |
Embed Lua for scriptable apps
The Lua programming language is a small scripting language specifically
designed to be embedded in other programs. Lua's C API allows exceptionally
clean and simple code both to call Lua from C, and to call C from Lua. This
allows developers who want a convenient runtime scripting language to easily
implement the basic API elements needed by the scripting language, then use
Lua code from their applications. This article introduces the Lua language as
a possible tool for simplifying common development tasks, and discusses some
of the reasons to embed a scripting language in the first place.
|
 |
27 Jan 2009 |
|
| |
Scripting with Guile
Scheme is a programming language, but Guile -- an interpreter and
library for Scheme -- transforms it into an embedded scripting language,
making it ideal for bringing dynamic new life to your static applications.
Take a quick tour of Guile, and discover its powerful features for building
extensible applications.
|
 |
20 Jan 2009 |
|
| |
Develop a GPS-aware application for the Nokia N810, Part
2: Consider your options
Discover the details of code design, library selection, unit testing, and
user interface choices that make the most sense for you.
|
 |
13 Jan 2009 |
|
| |
LoP/Cell/B.E.: Buffer overflow vulnerabilities, Part 2: Discovering how buffer overflow mechanisms work for Linux on Power-based
systems
Get acquainted with buffer overflow
vulnerabilities in Linux running on Power/Cell Broadband Engine Architecture
processor-based servers. Buffer overflows occur when a process tries to store
data outside of the bounds of a fixed-length buffer. When that happens,
all sorts of erratic system behavior can result, and some can be
detrimental to your system's security. Part 2 of this article series shows
how to overwrite a function pointer in 32- and
64-bit modes and illustrates assembly components through shell, network,
and socket code samples. (Part 1 briefly
discussed buffer overflows and the Power and Cell/B.E. architectures, and then
showed how you can change the process-execution flow in the target systems and
overwrite a local variable in 32- and 64-bit modes.)
|
 |
13 Jan 2009 |
|
| |
Enable high availability for composite applications
This article describes an implementation of high availability
for a composite
application using Linux-HA.
Delivering high availability to composite applications can be challenging.
Because composite applications consist of several distinct applications,
each with different availability requirements, configuration is complex.
In this article, the authors describe how they
designed and implemented a high availability prototype
for Tivoli Maximo, a composite app.
Their configuration script shows how you can provide high availability
to a heterogeneous cluster
of related applications using a systematic and prioritized failover
schedule.
|
 |
13 Jan 2009 |
|
| |
LoP/Cell/B.E.: Buffer overflow vulnerabilities, Part
1: Understanding buffer overflow issues for Linux on Power-based
systems
Get acquainted with buffer overflow
vulnerabilities in Linux running on Power/Cell Broadband Engine Architecture
processor-based servers. Buffer overflows occur when a process tries to store
data outside of the bounds of a fixed-length buffer. When that happens,
all sorts of erratic system behavior can result, and some can be
detrimental to your system's security. Part 1 of this article series briefly
discusses buffer overflows and the Power and Cell/B.E. architectures, and then
shows how you can change the process-execution flow in the target systems and
overwrite a local variable in 32- and 64-bit modes. (Part 2 will show
how to overwrite a function pointer in 32- and
64-bit modes and illustrate assembly components through shell, network,
and socket code samples.)
|
 |
06 Jan 2009 |
|
| |
Anatomy of Linux process management
The creation and management of user-space processes in Linux have many
principles in common with UNIX but also include several unique optimizations
specific to Linux. Here, review the life cycle of Linux processes and explore
the kernel internals for user process creation, memory management, scheduling,
and death.
|
 |
20 Dec 2008 |
|
| |
Python 3 primer, Part 1: What's new
Python 3 is the latest version of Guido van Rossum's powerful
general-purpose programming language. It breaks backwards compatibility with
the 2.x line but has cleaned up some syntax issues. This article is the first
in a series that talks about the changes that affect the language and
backwards compatibility, and it provides examples of new
features.
|
 |
19 Dec 2008 |
|
| |
Develop a GPS-aware application for the Nokia N810, Part 1: Development environment
Learn how to configure a development environment targeted at the Nokia
N810 Internet Tablet, including setting up Eclipse on a target development
machine for the Python language.
|
 |
16 Dec 2008 |
|
| |
Blades and external storage: Set up a fault-tolerant environment
To build a highly available Linux server environment with IBM blades,
first you need to set up a fault-tolerant environment between the blade and
any external storage. This enables you to deliver redundancy and enable multipathing. In
this article, learn how to integrate an
x86-based IBM BladeCenter server and external IBM BladeCenter Boot Disk System
(DS3200) SAS storage, as a critical prerequisite for a reliable
blade server environment on Linux. Some Linux Volume
Manager "hot-add" features designed to meet the increasing demand on storage
systems are covered as well.
|
 |
10 Dec 2008 |
|
| |
Distributed computing with Linux and Hadoop
Every day people rely on search engines to find specific content in
the many terabytes of data that exist on the Internet, but have you ever wondered
how this search is actually performed? One approach is Apache's Hadoop,
which is a software framework that enables distributed manipulation of vast
amounts of data. One application of Hadoop is parallel indexing of Internet Web pages.
Hadoop is an Apache project with support from Yahoo!, Google, IBM, and others.
This article introduces the Hadoop framework and shows you why it's one of the
most important Linux-based distributed computing frameworks.
|
 |
09 Dec 2008 |
|
| |
Scale your file system with Parallel NFS
The Network File System (NFS) is a stalwart component of most modern
local area networks (LANs). But NFS is inadequate for the demanding input-
and output-intensive applications commonly found in high-performance computing
-- or, at least it was. The newest revision of the NFS standard includes
Parallel NFS (pNFS), a parallelized implementation of file sharing that
multiplies transfer rates by orders of magnitude. Here's a primer.
[Note: The article has been updated
with regard to vendor involvement in the origin and development of pNFS -- Ed.]
|
 |
26 Nov 2008 |
|
| |
POWER5 Virtualization: How to work with VLANs using the IBM Virtual I/O Server
Learn how to improve security between logical networks. In this article, Nigel Griffiths describes the benefits of working with VLANs using the IBM Virtual I/O Server (VIO Server).
|
 |
18 Nov 2008 |
|
| |
Comparison of SLES (SUSE) and RHEL (Red Hat) on IBM System p
Most system administrators planning to install Linux on IBM System p
eventually run into an important question: Which Linux distribution should I
install? This article compares two distributions from Red Hat and Novell, and
weighs the pros and cons of each. We'll discuss Linux on POWER (LoP), the history of
both distributions, the relationship IBM has with them, and the factors that should
go into your decision-making process. We're also going to compare and contrast what
it takes to create logical volumes on SuSE Linux Enterprise Server (SLES) and Red
Hat Enterprise Linux (RHEL).
|
 |
18 Nov 2008 |
|
| |
Comparison of SLES (SUSE) and RHEL (Red Hat) on IBM System p
Most systems administrators planning to install Linux on IBM System p
eventually run into an important dillemma: Which Linux distribution should I
install? This article compares two distributions from Red Hat and Novell, and
weighing the pros and cons of each. We'll discuss Linux on POWER (LoP), the history of
both distributions, the relationship IBM has with them, and the factors that should
go into your decision-making process. We also compare and contrast what
it takes to create logical volumes on SuSE Linux Enterprise Server (SLES) and Red
Hat Enterprise Linux (RHEL).
|
 |
18 Nov 2008 |
|
| |
GCC hacks in the Linux kernel
The Linux kernel uses several special capabilities of the GNU Compiler
Collection (GCC) suite. These capabilities range from giving you shortcuts and
simplifications to providing the compiler with hints for optimization.
Discover some of these special GCC features and learn how to use them in the
Linux kernel.
|
 |
18 Nov 2008 |
|
| |
Automating Linux cloud installations
A simplified process for installing operating systems can reduce the
amount of time you spend on administration of your cloud computing
environment. This article describes how you can automate the installation of
SUSE Linux on a new IBM Power System or System p LPAR. You can also use the
same techniques to install Red Hat Linux or AIX.
|
 |
11 Nov 2008 |
|
| |
Linux project publications: Security
The publications on this page represent contributions by members of the
IBM Linux Technology Center to the development community on the topic of Linux
security.
|
 |
08 Nov 2008 |
|
| |
Update Twitter and FriendFeed from the Linux command line
Learn how to use GNU Wget and cURL to send status updates to Twitter and
FriendFeed without the use of a Twitter desktop application, and follow feeds
from both Twitter and FriendFeed right from the Linux command line. This article was updated on 31 Oct 2008 to correct a coding error in the wget command under "Adding a tweet using GNU Wget and cURL." --Ed.
|
 |
31 Oct 2008 |
|
| |
Get to know GCC 4
In the last few years, the GNU Compiler Collection (GCC) has
undergone a major transition from GCC version 3 to version 4. With GCC 4 comes
a new optimization framework (and new intermediate code representation), new
target and language support, and a variety of new attributes and options. Get
to know the major new features and their benefits.
|
 |
28 Oct 2008 |
|
| |
Lazy Linux: 11 secrets for lazy cluster admins
"Cluster" means different things to different people. In the context of
this article, cluster is best defined as "scale-out" -- scale-out clusters
generally have a lot of the same type of components like
Web farms, render farms, and high performance computing (HPC) systems.
Administrators will tell you that with scale-out clusters any change, no
matter how small, must be repeated up to hundreds of thousands of times; the
laziest of admins have mastered techniques of scale-out management so that
regardless of the number of nodes, the effort is the same. In this article,
the authors peer into the minds of the laziest Linux admins on Earth and
divulge their secrets.
|
 |
22 Oct 2008 |
|
| |
Programmability, Part 1: Exploring different approaches to programming for Cell/B.E. platforms
The programming flexibility available for the Cell Broadband Engine(TM) is a
hot topic in the multicore community. This article discusses leveraging your existing
skills to program for Cell/B.E.(TM), offers three programming approaches for Cell/B.E.
systems, and introduces the various tools, software, and hardware available
for the platform.
|
 |
14 Oct 2008 |
|
| |
Deliver high availability with a Xen virtual server
Get step-by-step details to implement Xen virtual server high
availability via the IBM System Director Virtual Availability Manager.
The Virtual Availability Manager is included in the IBM System Director Virtualization Manager package, an
extension for IBM Director. In this article, the authors walk you through all
the steps, from prerequisites and setup to troubleshooting -- everything you need to get started
delivering virtual high availability capabilities.
|
 |
01 Oct 2008 |
|
| |
TASK_KILLABLE: New process state in Linux
Linux kernel 2.6.25 introduced a new process state for putting processes
to sleep called TASK_KILLABLE, which offers an alternative to the efficient
but potentially unkillable TASK_UNINTERRUPTIBLE and the easy-to-awaken but
safer TASK_INTERRUPTIBLE. TASK_KILLABLE is the outcome of an issue raised in
2002 about the OpenAFS file system driver waiting for an event interruptibly
after blocking all signals. This new sleeping state echoes
TASK_UNINTERRUPTIBLE with the ability to respond to fatal signals. In this
article, the author sheds light on this area and, using examples from 2.6.26
and an earlier version, 2.6.18, discusses the related changes to the Linux
kernel and the new APIs that resulted from these changes.
|
 |
30 Sep 2008 |
|
| |
Monitor file system activity with inotify
Inotify is a Linux feature that monitors file system operations, such as
read, write, and create. Inotify is reactive, surprisingly simple to use, and
far more efficient than, say, busy polling from a cron job. Learn how to
integrate inotify into your own applications, and discover a set of
command-line tools you can use to further automate system administration.
|
 |
16 Sep 2008 |
|
| |
Efficient data transfer through zero copy
This article explains how you can improve the performance of I/O-intensive Java applications running on Linux and UNIX platforms through a technique called zero copy. Zero copy lets you avoid redundant data copies between intermediate buffers and reduces the number of context switches between user space and kernel space.
|
 |
02 Sep 2008 |
|
| |
Anatomy of Linux dynamic libraries
Dynamically linked shared libraries are an important aspect of
GNU/Linux. They allow executables to dynamically access external functionality
at run time and thereby reduce their overall memory footprint (by bringing
functionality in when it's needed). This article investigates the process of
creating and using dynamic libraries, provides details on the various tools
for exploring them, and explores how these libraries work under the hood.
|
 |
20 Aug 2008 |
|
| |
Work the CIM event model efficiently
In the Common Information Model (CIM), a client application can
subscribe to be notified of CIM events. Normally, an application can create
event filters with multiple event handlers through different connection ports,
but this consumes lots of network resources and adds much complexity when it
comes to maintenance. In this article, see how to register
multiple CIM event handlers with a single specific connection port. Also
pick up some tips on how to write code with the SBLIM CIM client library.
|
 |
20 Aug 2008 |
|
| |
Linux on board: Developing for the Nokia N810
The Nokia N810 alarm interface allows developers to efficiently and
easily set alarms programmatically. Peter Seebach illustrates how a small
command-line program can hook into this API and make good use of it.
|
 |
20 Aug 2008 |
|
| |
Speaking UNIX: The new and improved Vim editor
If you've worked on IBM AIX, another flavor of UNIX, or
Linux, you've more than likely used the vi editor. Since its conception in 1976, vi has
become a staple for anyone wanting to edit files. How could someone make a more powerful
editing tool than vi, you may ask? The answer is Vim, and this article provides details on the
many enhancements that have made Vim a highly used and acceptable editor in the world
of UNIX and Linux.
|
 |
19 Aug 2008 |
|
| |
Java run-time monitoring, Part 3: Monitoring performance and availability of an application's ecosystem
The third and final installment in this series on run-time monitoring of Java
applications focuses on strategies and techniques for monitoring the performance and availability of an application's supporting and dependent services. These include the underlying host operating system, the operational database, and messaging infrastructures. The article concludes with a discussion of performance data management issues and data reporting and visualization.
|
 |
12 Aug 2008 |
|
| |
Complex networking using Linux on Power blades
Blades are an excellent choice for many applications and services,
especially in the telecommunications service provider industry. But the unique
requirements of these provider networks often require configurations that are
complex and need up-front focus and planning so all the stringent functional
requirements are met. In this article, learn how to plan and set up the
necessary network configurations for a POWER6 JS22 blade deployment.
|
 |
05 Aug 2008 |
|
| |
The Linux operating system as a managed object
Organizations today face two major challenges: deployment of an
increasingly rich service mix and managing the associated massive base of computing
platforms. In this article, discover a new(ish) means of viewing a key component of the
organizational architecture--treating operating systems themselves as individual
managed objects.
|
 |
29 Jul 2008 |
|
| |
Traversing Red Hat Enterprise Linux 5 on System p
So you've been the AIX guru on your team for years now and your bosses have
determined that they want to try Linux on System p. You can fight the change, or
you can embrace it and learn Linux, if not learn to love it. The purpose of this
article is to introduce Linux to AIX administrators. It will show you what you
need to know to make the transition to Linux simpler. It will also show you the
equivalent commands to perform specific tasks and also discusses process
management, filesystem management, how to peruse systems information, install packages, and other important bits of information that you as the systems administrator will need to know. While you will not become an expert at Linux from this article, this should give you a good head start in what you need to know.
|
 |
22 Jul 2008 |
|
| |