 |
 |
 |
 |
 |
 |
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.
|
 |
Articles |
 |
19 Aug 2008 |
|
| |
Developing software on an open source stack
Web developers are enjoying a renaissance. After spending much of the previous
decade toiling on server-centric code, programmers are now putting code
front-and-center, turning the Web browser into its own computing platform. Much of the
renaissance must be attributed to ingenuity. The newest generation of tools and
application frameworks automate and simplify the drudgery of building, deploying, and
maintaining a Web site. There are also more tools than ever, and all the most
innovative tools are open source. This tutorial provides an expansive survey of the free
software available to developers to create and deploy Web applications.
|
 |
Tutorials |
 |
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.
|
 |
Articles |
 |
12 Aug 2008 |
|
| |
Build an embedded Linux distro from scratch
Learn how to build a custom Linux distribution to use in an embedded
environment, in this case to drive a Technologic Systems TS-7800 single-board
computer. In this tutorial, you learn about cross-compiling, the boot loader, file systems,
the root file system, disk images, and the boot process, all with respect to
the decisions you make as you're building the system and creating
the distribution.
|
 |
Tutorials |
 |
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.
|
 |
Articles |
 |
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.
|
 |
Articles |
 |
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.
|
 |
Articles |
 |
22 Jul 2008 |
|
| |
Lazy Linux: 10 essential tricks for admins
Learn these 10 tricks and you'll be the most powerful Linux systems
administrator in the universe...well, maybe not the universe, but you will
need these tips to play in the big leagues. Learn about SSH tunnels, VNC,
password recovery, console spying, and
more. Examples accompany each trick, so you can duplicate them on your
own systems.
|
 |
Articles |
 |
20 Jul 2008 |
|
| |
Anatomy of Linux loadable kernel modules
Linux loadable kernel modules, introduced in version 1.2 of the kernel,
are one of the most important innovations in the Linux kernel. They provide a
kernel that is both scalable and dynamic. Discover the ideas behind loadable
modules, and learn how these independent objects dynamically become part of
the Linux kernel.
|
 |
Articles |
 |
16 Jul 2008 |
|
| |
Integrate encryption into Google Calendar with Firefox extensions
Today's Web applications provide many
benefits for online storage, access, and collaboration. Although some applications offer
encryption of user data, most do not. This article provides tools and code needed to add
basic encryption support for user data in one of the most popular online calendar
applications. Building on the incredible flexibility of Firefox extensions and the Gnu
Privacy Guard, this article shows you how to store only encrypted event descriptions in
Google's Calendar application, while displaying a plain text version to anyone with the
appropriate decryption keys.
|
 |
Articles |
 |
15 Jul 2008 |
|
| |
Automate backups on Linux
The loss of critical data can prove devastating. Still, millions of professionals ignore backing up their data. While individual reasons vary, one of the most common explanations is that performing routine backups can be a real chore. Because machines excel at mundane and repetitive tasks, the key to reducing the inherent drudgery and the natural human tendency for procrastination, is to automate the backup process.
|
 |
Articles |
 |
03 Jul 2008 |
|
| |
Common threads: Awk by example, Part 1
Awk is a very nice language with a very strange name. In this first article of a three-part series, Daniel Robbins will quickly get your awk programming skills up to speed. As the series progresses, more advanced topics will be covered, culminating with an advanced real-world awk application demo.
|
 |
Articles |
 |
03 Jul 2008 |
|
| |
Migrate device control applications from Windows to Linux
Ease the pain of migrating device control applications from Microsoft
Windows to Linux by understanding how device control works in both operating
systems. The authors outline these differences and give you a C/C++ migration
sample.
|
 |
Articles |
 |
24 Jun 2008 |
|
| |
Core partners, Part 4: Managing the PlayStation 3 Wi-Fi network
Terra Soft Solutions IT Manager Aaron Johnson shows you, step-by-step, how to configure and encrypt the built-in Wi-Fi network that comes with the
Cell Broadband Engine(TM)-based Sony PlayStation 3. And, as a little bonus, get 16 quick
steps that explain how to switch from a wireless network back to a wired network on the PS3.
|
 |
Articles |
 |
17 Jun 2008 |
|
| |
Anatomy of Linux journaling file systems
In recent history, journaling file systems were viewed as an oddity and
thought of primarily in terms of research. But today, a journaling file system
(ext3) is the default in Linux. Discover the ideas behind journaling file systems,
and learn how they provide better integrity in the face of a power failure or system
crash. Learn about the various journaling file systems in use today, and peek into
the next generation of journaling file systems.
|
 |
Articles |
 |
04 Jun 2008 |
|
| |
Porting applications to Linux for System z
Server consolidation based on Linux for IBM System z offers advantages, but
moving existing applications requires some specialized knowledge. In this article,
get general advice on how to organize your porting project, including technical
details on mainframe virtualization, byte-ordering, and address calculation specific
to System z. This article also covers how development tools (compiler, linker,
debugger) are supported on System z, and introduces IBM's free-of-charge Migration
Kit for Solaris OS to Linux.
|
 |
Articles |
 |
28 May 2008 |
|
| |
Anatomy of Linux flash file systems
You've probably heard of Journaling Flash File System (JFFS) and
Yet Another Flash File System (YAFFS), but do you know what it means to
have a file system that assumes an underlying flash device? This article introduces
you to flash file systems for Linux, and explores how they care for their underlying
consumable devices (flash parts) through wear leveling, and identifies the various
flash file systems available along with their fundamental designs.
|
 |
Articles |
 |
20 May 2008 |
|
| |
Manage widget geometry in PyGTK
Several container widgets exist in GTK+, and with the toolkit's API, you
can create user-defined containers. This API is also exposed to PyGTK. In this
article, learn how to create a "weighted-table" container in PyGTK. The
implementation introduces you to the basic model of GTK+ geometry management and
gives you a feel for what to consider and expect when implementing container
widgets.
|
 |
Articles |
 |
20 May 2008 |
|
| |
Install and boot Linux on BladeCenter S from an attached disk
The IBM BladeCenter S chassis is the first IBM BladeCenter to integrate
server and storage. In this article, learn how to install SUSE Linux 10 on the
blade's attached disk and then how to boot the blade server from the attached disk.
The article also covers how to check the storage and blade status, how to map the
disk to the blade, how to configure an SAS disk as the boot media, how to install
the operating system on the attached disk, and how to handle the most common
installation error.
|
 |
Articles |
 |
06 May 2008 |
|
| |
Migrating to ext4
Ext4 is the latest
in a long line of Linux file systems, and it's likely to be as important and
popular as its predecessors. As a Linux system administrator, you should be aware of the
advantages, disadvantages,
and basic steps for migrating to ext4. This article explains when to adopt ext4, how to adapt
traditional file
system maintenance tool usage to ext4, and how to get the most out of the
file system.
|
 |
Articles |
 |
30 Apr 2008 |
|
| |
Anatomy of Security-Enhanced Linux (SELinux)
Linux has been described as one of the most secure operating systems
available, but the National Security Agency (NSA) has taken Linux to the next level
with the introduction of Security-Enhanced Linux (SELinux). SELinux takes the
existing GNU/Linux operating system and extends it with kernel and user-space
modifications to make it bullet-proof. If you're running a 2.6 kernel today, you
might be surprised to know that you're using SELinux right now! This article
explores the ideas behind SELinux and how it's implemented.
|
 |
Articles |
 |
29 Apr 2008 |
|
| |
Worry-free Linux power-downs with Anacron
Linux ordinarily uses Cron to automatically perform routine system
maintenance, such as rotating log files and updating spam filtering rules.
This works well for servers and other systems that are powered on 24/7. If,
however, you want to save power by shutting off the computer when it's not in
use, as is common for desktop and laptop systems, Cron can't run.
Not running Cron routinely can
result in monstrously large log files and other problems. The Anacron utility
provides a solution, enabling the computer to run regular maintenance jobs
whenever the computer is powered on, even if those times are
unpredictable.
|
 |
Articles |
 |
21 Apr 2008 |
|
| |
Install Apache Geronimo v1.x on Linux
See how easy it is to install Apache Geronimo in a Linux environment. This demo shows how to install Apache Geronimo v1.x, an open source application server available from the Apache Software Foundation, in a Linux x86 environment for use by multiple developers.
|
 |
Demos |
 |
16 Apr 2008 |
|
| |
Anatomy of real-time Linux architectures
It's not that Linux isn't fast or efficient, but in some cases fast just
isn't good enough. What's needed instead is the ability to deterministically meet
scheduling deadlines with specific tolerances. Discover the various real-time Linux
alternatives and how they achieve real time -- from the early architectures that
mimic virtualization solutions to the options available today in the standard 2.6
kernel.
|
 |
Articles |
 |
15 Apr 2008 |
|
| |
LPI exam 301 prep, Topic 306: Capacity planning
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this last
in a series of six tutorials, Sean walks you through monitoring your system
resources, troubleshooting resource problems, and analyzing system capacity.
|
 |
Tutorials |
 |
15 Apr 2008 |
|
| |
Cell/B.E. SDK 3.0 tools, Part 1: Using performance tools
This introductory tutorial, designed as a companion for the IBM SDK for
Multicore Acceleration, Version 3.0 (otherwise known as the Cell Broadband
Engine(R) SDK), teaches you how to use five performance tools that reside in the SDK
3.0: OProfile, Cell Performance Counter, Performance Debugging Tool, the PDT Trace
Reader, and FDPR-Pro. The Visual Performance Analyzer, available separately, is also highlighted.
|
 |
Tutorials |
 |
15 Apr 2008 |
|
| |
LPI exam 301 prep, Topic 305: Integration and migration
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this fifth
in a series of six tutorials, Sean walks you through integrating LDAP with your
system's logins and applications. He also details the procedure to
integrate your server into a foreign Microsoft Active Directory.
|
 |
Tutorials |
 |
08 Apr 2008 |
|
| |
Linux development on the PlayStation 3, Part 3: Slimming down X11 with tiny tools
The Sony PlayStation 3 (PS3) runs Linux, but getting it to run well requires
some tweaking. In the third and final article of this series on PS3 Linux, Peter
Seebach talks about ways to get X11 slimmed down to fit on a smaller memory budget.
|
 |
Articles |
 |
08 Apr 2008 |
|
| |
Discover tput
One of the strongest assets UNIX has is the ability to make shell scripts to ease
users' lives. These scripts can range from simple one-liners to several thousand
lines. Many times, shell scripts evolve into menu-based scripts, and the scripter
wants to display more to users than simply scrolling text. Other times, a simple
line or two of output are displayed to users, and the shell scripter wants to put
emphasis on a warning message.
|
 |
Articles |
 |
01 Apr 2008 |
|
| |
Linux development on the PlayStation 3, Part 2: Working with memory
The Sony PlayStation 3 (PS3) runs Linux, but getting it to run well requires
some tweaking. In this article, the second in a series, Peter Seebach takes a look
at where all the memory goes and how to reclaim it.
|
 |
Articles |
 |
31 Mar 2008 |
|
| |
Performance tradeoffs of TCP Selective Acknowledgment
Selective acknowledgment (SACK) is an optional feature of TCP that is
necessary to effectively use all of the available bandwidth of some networks. While
SACK is good for throughput, processing this type of acknowledgment has proven to be
CPU intensive for the TCP sender. This weakness can be exploited by a malicious peer
even under commodity network conditions. This article presents experimental
measurements that characterize the extent of the problem within the Linux TCP stack.
SACK is enabled by default on most distributions.
|
 |
Articles |
 |
31 Mar 2008 |
|
| |
LPI exam 301 prep, Topic 304: Usage
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this fourth
in a series of six tutorials, Sean walks you through searching your LDAP tree and
using the command-line tools. You'll also learn how to set up Microsoft Outlook to
query your LDAP tree.
|
 |
Tutorials |
 |
25 Mar 2008 |
|
| |
Monitor mainframe sessions remotely
Users access z/OS mainframes using a 3270 terminal emulator. In this
article, learn how to build a simple shell script for UNIX or Linux that gives you a
second terminal emulator to view everything a mainframe user is doing in real time.
|
 |
Articles |
 |
19 Mar 2008 |
|
| |
Linux development on the PlayStation 3, Part 1: More than a toy
The Sony PlayStation 3 (PS3) runs Linux, but getting it to run well requires
some tweaking. In this article, first in a series, Peter Seebach introduces the
features and benefits of PS3 Linux, and explains some of the issues that might
benefit from a bit of tweaking.
|
 |
Articles |
 |
18 Mar 2008 |
|
| |
Prepare a self-installing drive for blade servers
Follow these nine steps to build a bootable, self-installing hard disk drive
for an IBM BladeCenter HS20 blade server running SUSE Linux Enterprise Server 10.
(These steps work for other blade servers, as well). When the system boots from this
drive for the first time, it automatically begins to install Linux on the disk,
which eases the task of preloading the operating system and lightens user workload.
|
 |
Articles |
 |
18 Mar 2008 |
|
| |
Changing UIDs and GIDs
It's important to know what happens to file ownership in AIX once you make a UID or GID change. If you don't
understand the results of altering a UID or GID, you could cause serious issues to your server and
environment.
|
 |
Articles |
 |
04 Mar 2008 |
|
| |
LPI exam 301 prep, Topic 303: Configuration
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this third
in a series of six tutorials, Sean walks you through configuring a Lightweight
Directory Access Protocol (LDAP) server, including access control, security, and
performance. By the end of this tutorial, you'll know about LDAP server
configuration.
|
 |
Tutorials |
 |
04 Mar 2008 |
|
| |
Multipath storage with Xen and DS4800
As the Xen open source hypervisor gains traction in many enterprises for
production deployment, you may need to provide fully redundant storage to the Xen
environment from the host adapter all the way down to the hard drives. In this
article, learn how to use Red Hat Enterprise Linux 5.1 to set up Xen and multipath
storage access to the IBM System Storage DS4800.
|
 |
Articles |
 |
04 Mar 2008 |
|
| |
Systems Administration Toolkit: Log file basics
A typical UNIX or Linux machine creates many log files during the course of its
operation. Some of these contain useful information; others can be used to help you
with capacity and resource planning. This article looks at the fundamental information recorded within the different log files, their location, and how that information can be used to your benefit to work out what is going on within your system.
|
 |
Articles |
 |
26 Feb 2008 |
|
| |
Desktop development for the OLPC laptop
The XO laptop (of the One-Laptop-Per-Child initiative) is an inexpensive
laptop project intended to help educate children around the world. The laptop
includes many innovations, such as a novel, inexpensive, and durable hardware design
and the use of GNU/Linux as the underlying operating system. The XO also includes an
application environment written in Python with a human interface called Sugar,
accessible to everyone (including kids). This article is excerpted from the
developerWorks tutorial "Application development for the OLPC laptop," which takes a
look at the Sugar APIs and shows how to develop and debug a graphical activity in
Sugar using Python.
|
 |
Articles |
 |
26 Feb 2008 |
|
| |
Improve security with polyinstantiation
If you're concerned about protecting world-writeable shared directories such
as /tmp or /var/tmp from abuse, a Linux Pluggable Authentication Module (PAM) can
help you. The pam_namespace module creates a separate namespace for users on your
system when they login. This separation is enforced by the Linux operating system so
that users are protected from several types of security attacks. This article for
Linux system administrators lays out the steps to enable namespaces with PAM.
|
 |
Articles |
 |
26 Feb 2008 |
|
| |
Building your own memory manager for C/C++ projects
Performance optimization of code is serious business. It's fairly common to see a
piece of functionally correct software written in C or C++ that takes way
too much memory, time, or, in the worst case, both. As a developer, one of the most
powerful tools that C/C++ arms you with to improve processing time and prevent
memory corruption is the control over how memory is allocated or deallocated in your
code. This tutorial demystifies memory management concepts by telling you how to
create your very own memory manager for specific situations.
|
 |
Tutorials |
 |
19 Feb 2008 |
|
| |
Role-based access control in SELinux
Role-based access control (RBAC) is a general security
model that simplifies
administration by assigning roles to users and then
assigning permissions to those
roles. RBAC in Security-Enhanced Linux (SELinux) acts
as a layer of abstraction
between the user and the underlying type-enforcement (TE)
model, which provides
highly granular access control but is not
geared for ease of management. Learn how
the three pieces of an SELinux context (policy, kernel, and userspace)
work together
to enforce the RBAC and tie Linux users into the TE policy.
|
 |
Articles |
 |
13 Feb 2008 |
|
| |
SNMP-based monitoring for GPFS clusters
New in version 3.2, IBM General Parallel File System (GPFS) on Linux
provides Simple Network Management Protocol (SNMP) services that let administrators
collect SNMP data about the health of a GPFS cluster so that problems such as disk
failure can be quickly identified. The system lets a collector node gather the trap
information, which an administrator can then monitor and analyze remotely on a
separate management node. This article provides a method for basic verification of
SNMP in a GPFS cluster.
|
 |
Articles |
 |
29 Jan 2008 |
|
| |
Explore Ubuntu Mobile and Embedded
Ubuntu is a great server and desktop distribution for the GNU/Linux
operating system, but did you know that it's also ideal for handheld and mobile
embedded devices? Ubuntu's latest release, Gutsy Gibbon, now includes support for
the embedded and mobile spaces with the Ubuntu Mobile and Embedded (UME) project.
Get to know the UME project, and find out how to get started.
|
 |
Tutorials |
 |
15 Jan 2008 |
|
| |
Cell/B.E. container virtualization, Part 2: Implementation issues
This three-part series illustrates a
hardware-resource-focused form of software virtualization known as container
virtualization (or operating system virtualization), demonstrated through the open
source project OpenVZ. The series provides a comprehensive overview of all the
components and techniques needed to virtualize the Cell/B.E. processor with software
methods. This second article of the series details the implementation of
dedicated virtualization and partitioning that was described in Part 1 of the series.
|
 |
Articles |
 |
08 Jan 2008 |
|
| |
developerWorks live!: Linux sessions
The Linux 2.6.23 kernel comes with a modular scheduler core and a Completely
Fair Scheduler (CFS), which is implemented as a scheduling module. In this article,
get acquainted with the major features of the CFS, see how it works, and look ahead
to some of the expected changes for the 2.6.24 release.
|
 |
Articles |
 |
08 Jan 2008 |
|
| |
Multiprocessing with the Completely Fair Scheduler
The Linux 2.6.23 kernel comes with a modular scheduler core and a Completely
Fair Scheduler (CFS), which is implemented as a scheduling module. In this article,
get acquainted with the major features of the CFS, see how it works, and look ahead
to some of the expected changes for the 2.6.24 release.
|
 |
Articles |
 |
08 Jan 2008 |
|
| |
Networking scalability on high-performance servers
The proliferation of high-performance scalable servers has added a new level
of complexity to networking and system performance. In this article, learn how to
optimize your multi-node, high-performance Linux system as it uses system board
gigabit Ethernet adapters from 1 to 4 nodes. Take a look at problematic networking
scalability situations and get tips on how to avoid the pitfalls.
|
 |
Articles |
 |
01 Jan 2008 |
|
| |
Application development for the OLPC laptop
The XO laptop (of the One-Laptop-Per-Child initiative) is an inexpensive
laptop project intended to help educate children around the world. The XO laptop
includes many innovations, such as a novel, inexpensive, and durable hardware design
and the use of GNU/Linux as the underlying operating system. The XO also includes an
application environment written in Python with a human interface called Sugar,
accessible to everyone (including kids). Explore the Sugar APIs and learn how to
develop and debug a graphical activity in Sugar using Python.
|
 |
Tutorials |
 |
18 Dec 2007 |
|
| |
Cell/B.E. container virtualization, Part 1: Concepts, architectures, and tools
This three-part series illustrates a
hardware-resource-focused form of software virtualization known as container
virtualization (or operating system virtualization), demonstrated through the open
source project OpenVZ. The series provides a comprehensive overview of all the
components and techniques needed to virtualize the Cell/B.E. processor with software
methods. This first article of the series discusses the basic concepts
involved, illustrates the salient points of the OpenVZ and Cell/B.E. architectures
and how they work together, and describes some of the OpenVZ tools.
|
 |
Articles |
 |
11 Dec 2007 |
|
| |
LPI exam 301 prep, Topic 302: Installation and development
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this second
in a series of six tutorials, Sean walks you through installing and configuring a
Lightweight Directory Access Protocol (LDAP) server, and writing some Perl scripts
to access the data. By the end of this tutorial, you'll know about LDAP server
installation, configuration, and programming.
|
 |
Tutorials |
 |
04 Dec 2007 |
|
| |
Linux on board: Auto-uploading Nokia N800 photos
These three installments of Linux on board show you how to get started
building applications for the Nokia N800 by way of a working example: using the
camera feature to create a Webcam. In this third and final installment, write an
automatic photo-uploading routine for the photos you've taken.
|
 |
Articles |
 |
04 Dec 2007 |
|
| |
Linux on board: Accessing the Nokia N800 camera
These three installments of Linux on board show you how to get started
building applications by way of a working example: using the camera feature to
create a Webcam. In this installment, walk through the start of building a camera
application using gstreamer to access the Nokia N800 device's Webcam. (It's not as
much work as you might think, especially since we borrow from an existing
application.)
|
 |
Articles |
 |
27 Nov 2007 |
|
| |
Linux on board: Developing for the Nokia N800
Root around inside the heart of the Nokia N800 phone/Internet tablet/Webcam
and take a closer look at the build environment, based on scratchbox.
|
 |
Articles |
 |
20 Nov 2007 |
|
| |
Anatomy of the Linux SCSI subsystem
The Small Computer Systems Interface (SCSI) is a collection of standards
that define the interface and protocols for communicating with a large number of
devices (predominantly storage related). Linux provides a SCSI subsystem to permit
communication with these devices. Linux is a great example of a layered architecture
that joins high-level drivers, such as disk or CD-ROM drivers, to a physical
interface such as Fibre Channel or Serial Attached SCSI (SAS). This article
introduces you to the Linux SCSI subsystem and discusses where this subsystem is
going in the future.
|
 |
Articles |
 |
14 Nov 2007 |
|
| |
Emacs editing environment, Part 7: Let Emacs help you out
Part 7 of this series shows you why Emacs is the self-documenting
editor, and the many ways in which you can take advantage of the help and assistance
offered in this editor. In this tutorial, learn about describing keystrokes,
commands, and functions. You'll also read, browse, and search through a complete
Emacs reference manual.
|
 |
Tutorials |
 |
13 Nov 2007 |
|
| |
Software development for the OpenMoko Linux phone
The OpenMoko environment provides a completely free development environment
for running application and system code on supported phone hardware, eliminating all
dependency on proprietary code. This tutorial introduces the OpenEmbedded build
environment used to create filesystem images for OpenMoko phones, such as the Neo
1973.
|
 |
Tutorials |
 |
13 Nov 2007 |
|
| |
Anatomy of Linux synchronization methods
In your Linux education, you may have learned about concurrency, critical
sections, and locking, but how do you use these concepts within the kernel? This
article reviews the locking mechanisms available within the 2.6 kernel, including
atomic operators, spinlocks, reader/writer locks, and kernel semaphores. It also
explores where each mechanism is most applicable for building safe and efficient
kernel code.
|
 |
Articles |
 |
31 Oct 2007 |
|
| |
Anatomy of the Linux file system
When it comes to file systems, Linux is the Swiss Army knife of operating
systems. Linux supports a large number of file systems, from journaling to
clustering to cryptographic. Linux is a wonderful platform for using standard and
more exotic file systems and also for developing file systems. This article explores
the virtual file system (VFS) -- sometimes called the virtual filesystem switch --
in the Linux kernel and then reviews some of the major structures that tie file
systems together.
|
 |
Articles |
 |
30 Oct 2007 |
|
| |
LPI exam 301 prep, Topic 301: Concepts, architecture, and design
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam. In this
first in a series of six tutorials, Sean introduces you to Lightweight
Directory Access Protocol (LDAP) concepts, architecture, and design. By the
end of this tutorial, you will know about LDAP concepts and architecture,
directory design, and schemas.
|
 |
Tutorial |
 |
23 Oct 2007 |
|
| |
LPI exam 301 prep, Topic 301: Concepts, architecture, and design
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam 301. In this first
in a series of six tutorials, Sean introduces you to Lightweight Directory Access
Protocol (LDAP) concepts, architecture, and design. By the end of this tutorial, you
will know about LDAP concepts and architecture, directory design, and schemas.
|
 |
Tutorials |
 |
23 Oct 2007 |
|
| |
LPI exam 301 prep, Topic 301: Concepts, architecture, and design
In this tutorial, Sean Walberg helps you prepare to take the Linux
Professional Institute Senior Level Linux Professional (LPIC-3) exam 301. In this first
in a series of six tutorials, Sean introduces you to Lightweight Directory Access
Protocol (LDAP) concepts, architecture, and design. By the end of this tutorial, you
will know about LDAP concepts and architecture, directory design, and schemas.
|
 |
Tutorials |
 |
23 Oct 2007 |
|
| |
Linux assemblers: A comparison of GAS and NASM
This article explains some of the more important syntactic and semantic
differences between two of the most popular assemblers for Linux, GNU Assembler
(GAS) and Netwide Assembler (NASM), including differences in basic syntax, variables
and memory access, macro handling, functions and external routines, stack handling,
and techniques for easily repeating blocks of code.
|
 |
Articles |
 |
17 Oct 2007 |
|
| |
Minimize recoding impact, Part 2: Removing obstacles to speedy performance
The first article in the series describes how to do a basic port to the Cell Broadband Engine process. This
second article goes further in hammering out the details, including removing limitations
based on DMA-transfer size, partitioning the program across multiple SPEs, and
improving the program's speed even more.
|
 |
Articles |
 |
16 Oct 2007 |
|
| |
POSIX file capabilities: Parceling the power of root
Linux has been using capabilities for years, but has recently acquired POSIX
file capabilities. POSIX file capabilities split root user powers into smaller
privileges, such as the ability to read files or to trace processes owned by another
user. By assigning capabilities to a file, you can enable an unprivileged user to
execute the file with those specified privileges. In this article, learn how to
program using capabilities and how to switch on the ability of your system setuid
root binaries to use file capabilities.
|
 |
Articles |
 |
16 Oct 2007 |
|
| |
PS3 fab-to-lab, Part 2: Generating and analyzing signals
How do you take the Cell Broadband Engine (Cell/B.E.) processor from an
off-the-shelf Sony PLAYSTATION 3 (PS3) and use it to construct a piece of
Linux(R)-based laboratory equipment (in essence, take the Cell/B.E. from fab to hab
to lab)? In this series, Lewin Edwards shows you how to go from game console to
simple audio-bandwidth spectrum analyzer and function generator. In this article,
the author shows you how to build on the infrastructure from Part 1 to make the
system into a fully operational, if primitive, spectrum analyzer.
|
 |
Articles |
 |
02 Oct 2007 |
|
| |
IBM Installation Toolkit: Loading Linux on POWER
The IBM Installation Toolkit for Linux on POWER simplifies the installation of Linux on
virtualized and non-virtualized Power machines, gives you a bootable rescue DVD, and
provides the software needed to fully exploit the Power platform. Learn to use the
toolkit to install Red Hat Enterprise Linux and SUSE Linux Enterprise Server on
IBM System p and System
i5 machines.
|
 |
Articles |
 |
26 Sep 2007 |
|
| |
System emulation with QEMU
QEMU is an open source emulator for complete PC systems. In addition to
emulating a processor, QEMU permits emulation of all necessary subsystems, such as
networking and video hardware. It also permits emulation of advanced concepts, such
as symmetric multiprocessing systems (up to 255 CPUs) and other processor
architectures, such as ARM or PowerPC. This article explores QEMU and its
architecture and shows how to emulate a guest operating system on a Linux host.
|
 |
Articles |
 |
25 Sep 2007 |
|
| |
Metaclass programming in Python, Part 3
Too much cleverness in programming makes designs more complicated, code more
fragile, learning curves steeper, and worst of all, it makes debugging harder.
Michele and David feel, in part, responsible for some excesses of cleverness that
followed the enthusiastic reception of their earlier articles on Python metaclasses.
In this article, they attempt to make amends, by helping programmers eschew
cleverness.
|
 |
Articles |
 |
25 Sep 2007 |
|
| |
Logical volume management
Volume management is not new in the -ix world (UNIX, AIX, and so forth). And
logical volume management (LVM) has been around since Linux kernel 2.4v1 and
2.6.9v2. This article reveals the most useful features of LVM2--a relatively new
userspace toolset that provides logical volume management facilities--and suggests
several ways to simplify your system administration tasks. Based on reader feedback,
the author has updated Listings 10, 14, 15, and 16. -Ed.
|
 |
Articles |
 |
20 Sep 2007 |
|
| |
Applying mount namespaces
What if you could allow users to craft their own filesystem setup without being constrained
by the sysadmin-dictated structure? Users could export part of
their own filesystem tree and import other users' exported filesystem trees into
their tree. This article provides a step-by-step guide for Linux system administrators to
allow users to do just that with mount propagation.
|
 |
Articles |
 |
17 Sep 2007 |
|
| |
Cross-platform graphics with cairo
Built from the ground up to create identical output on both printer and
screen -- all in a cross-platform way -- cairo is becoming a huge player in the
Linux graphics space. Harness the same 2D power used by GNOME, GTK+, Pango, and many
others.
|
 |
Articles |
 |
05 Sep 2007 |
|
| |
Minimize recoding impact, Part 1: How to make an SPE and existing code work together
Traditional porting requires identifying and abstracting out the
architecture-dependent code: making code endian-independent, working through minor
API differences, and including the appropriate header files and libraries. While
this procedure works for getting code to run on the Cell Broadband Engine
(Cell/B.E.) processor, to actually use the extra processing elements, you have to
put in extra work, including reworking the code and rethinking the build process. In
this series, learn to take advantage of the Synergistic
Processor Elements (SPEs) in existing code and only make a minimal impact to the existing code and build process.
|
 |
Articles |
 |
04 Sep 2007 |
|
| |
Charming Python: Python elegance and warts, Part 2
In this series of two articles, David discusses the non-obvious features and
misfeatures that have been added to the last several Python versions, with the goal
of helping part-time Python programmers uncover the gems while avoiding the
pitfalls. This installment adds attributes and methods, descriptors, and properties
to the discussion.
|
 |
Articles |
 |
29 Aug 2007 |
|
| |
Set up a Web server cluster in 5 easy steps
Construct a highly available Apache Web server cluster that spans multiple
physical or virtual Linux servers in 5 easy steps with Linux Virtual Server and
Heartbeat v2.
|
 |
Articles |
 |
22 Aug 2007 |
|
| |
Use gperf for efficient C/C++ command line processing
The GNU tool gperf is a "perfect" hash function that, for a given set of
user-provided strings, generates C/C++ code for a hash table, a hash function, and a
lookup function. Learn how to use gperf for effective command-line processing in
your C/C++ code.
|
 |
Articles |
 |
25 Jul 2007 |
|
| |
Industrial-strength Linux lockdown, Part 2: Executing only signed binaries
For technical and non-technical users alike, maintaining a large installed
base of Linux machines can be a harrowing experience for an administrator. Technical
users take advantage of Linux's extreme configurability to change everything to
their liking, while non-technical users running amok within their own file systems.
This tutorial is the second in a two-part series on locking your Linux
machines down to streamline the associated support and administration processes.
In this tutorial, you learn how to configure the Linux kernel to execute only signed binaries.
|
 |
Tutorials |
 |
18 Jul 2007 |
|
| |
Changes in libspe: How libspe2 affects Cell Broadband Engine programming
The standard library that Power Processor Element (PPE) programs use to
access and manage Synergistic Processor Elements (SPEs), called
libspe, has undergone a major revision. The Cell Broadband Engine (Cell/B.E.)
SDK 2.1 officially changes the library interface from libspe1 to libspe2. In
this article, Jonathan Bartlett introduces the libspe2 concepts and shows how to do basic SPE process management and communication with libspe2.
|
 |
Articles |
 |
17 Jul 2007 |
|
| |
LPI exam 102 prep, Topic 111: Administrative tasks
In this tutorial, Ian Shields continues preparing you to take the Linux
Professional Institute Junior Level Administration (LPIC-1) Exam 102. In this sixth
in a series of nine tutorials, Ian introduces you to administrative tasks. By the
end of this tutorial, you will know how to manage users and groups, set user
profiles and environments, use log files, schedule jobs, back up your data, and
maintain the system time.
|
 |
Tutorials |
 |
10 Jul 2007 |
|
| |
Lightweight Web servers
Recent years have enjoyed a florescence of interesting implementations of
Web servers, including lighttpd, litespeed, and mongrel, among others. These Web
servers boast different combinations of performance, ease of administration,
portability, security, and related values. The following engineering study surveys the field of lightweight Web servers to help you find one likely to meet the technical requirements of your next project.
|
 |
Articles |
 |
10 Jul 2007 |
|
| |
The distro jungle
People who are new to Linux are often confused by the large number of
distributions to choose from. The good news is that you can safely ignore most of
them. This article helps you choose a distribution for getting started with your
Linux exploration -- and helps you understand just what it is you've just chosen.
|
 |
Articles |
 |
28 Jun 2007 |
|
| |
Anatomy of the Linux networking stack
One of the greatest features of the Linux operating system is its networking
stack. It was initially a derivative of the BSD stack and is well organized with a
clean set of interfaces. Its interfaces range from the protocol agnostics, such as
the common sockets layer interface or the device layer, to the specific interfaces
of the individual networking protocols. This article explores the structure of the
Linux networking stack from the perspective of its layers and also examines some of
its major structures.
|
 |
Articles |
 |
27 Jun 2007 |
|
| |
Installing a large Linux cluster, Part 4: Node installation and GPFS cluster configuration
Create a working Linux(R) cluster from many separate pieces of hardware and
software, including System x(TM) and IBM TotalStorage(R) systems. Part 4 provides
the second half of the instructions you need to set up the storage backend,
including installing General Parallel File System (GPFS) code
on each node and configuring Qlogic adapters for storage nodes. Finally, this
article takes you through the steps to create a GPFS cluster.
|
 |
Articles |
 |
14 Jun 2007 |
|
| |
Turbocharge Ruby on Rails with ActiveScaffold
Save time and headaches, and create a more easily maintainable set of pages,
with the Ruby on Rails ActiveScaffold plugin. ActiveScaffold handles all your CRUD
(create, read, update, delete) user interface needs, leaving you more time to focus
on more challenging (and interesting!) problems.
|
 |
Articles |
 |
08 Jun 2007 |
|
| |
Tuning LAMP systems, Part 3: Tuning your MySQL server
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture
are constantly being developed and deployed. But often the server administrator has
little control over the application itself because it's written by someone else.
This series of three articles discusses many of the server configuration items that
can make or break an application's performance. This third article, the last in the
series, focuses on tuning the database layer for maximum efficiency.
|
 |
Articles |
 |
07 Jun 2007 |
|
| |
Anatomy of the Linux kernel
The Linux kernel is the core of a large and complex operating system, and
while it's huge, it is well organized in terms of subsystems and layers. In this
article, you explore the general structure of the Linux kernel and get to know its
major subsystems and core interfaces. Where possible, you get links to other IBM
articles to help you dig deeper.
|
 |
Articles |
 |
06 Jun 2007 |
|
| |
Six ways to write more comprehensible code
As a developer, time is your most valuable resource. These six tips on how
to write maintainable code are guaranteed to save you time and frustration: one
minute spent writing comments can save you an hour of anguish.
|
 |
Articles |
 |
29 May 2007 |
|
| |
Industrial-strength Linux lockdown, Part 1: Removing the shell
For technical and non-technical users alike, maintaining a large installed
base of Linux machines can be a harrowing experience for an administrator. Technical
users take advantage of Linux's extreme configurability to change everything to
their liking, while non-technical users running amok within their own file systems.
This tutorial is the first in a two-part series that shows you how and why to lock
those machines down to streamline the associated support and administration
processes. In this tutorial, you learn how to remove the interpreters from the
installation base system.
|
 |
Tutorials |
 |
23 May 2007 |
|
| |
Linux tip: Bash parameters and parameter expansions
Do you sometimes wonder how to use parameters with your scripts, and how to
pass them to internal functions or other scripts? Do you need to do simple validity
tests on parameters or options, or perform simple extraction and replacement
operations on the parameter strings? This tip helps you with parameter use and the
various parameter expansions available in the bash shell.
|
 |
Articles |
 |
16 May 2007 |
|
| |
PS3 fab-to-lab, Part 1: Build Linux lab equipment from a Sony PLAYSTATION 3
How do you take the Cell Broadband Engine (Cell/B.E.) processor from an
off-the-shelf Sony PLAYSTATION 3 (PS3) and use it to construct a piece of
Linux-based laboratory equipment (in essence, taking the Cell/B.E. from fab to hab
to lab)? In this series, Lewin Edwards shows you how to go from game console to
simple audio-bandwidth spectrum analyzer and function generator. First up, uncover
the design intent of the project and then make a close inspection of the details of
the user interface implementation as you start a journey to generate and analyze
signals on the Cell/B.E. processor.
|
 |
Articles |
 |
15 May 2007 |
|
| |
Anatomy of the Linux slab allocator
Good operating system performance depends in part on the operating system's
ability to efficiently manage resources. In the old days, heap memory managers were
the norm, but performance suffered due to fragmentation and the need for memory
reclamation. Today, the Linux kernel uses a method that originated in Solaris but
has been used in embedded systems for quite some time, allocating memory as objects
based on their size. This article explores the ideas behind the slab allocator and
examines its interfaces and their use.
|
 |
Articles |
 |
15 May 2007 |
|
| |
Setting up a multicluster environment using General Parallel File System
Learn how to construct and deconstruct a simple multicluster of System
x(TM)and System p(TM) computers using the General Parallel File System (GPFS).
You can remotely add an existing GPFS cluster to another cluster. See how to mount a file system from the remote cluster using the GPFS secure
communication protocol.
|
 |
Articles |
 |
11 May 2007 |
|
| |
Installing a large Linux cluster, Part 3: Storage and shared file systems
Create a working Linux(R) cluster from many separate pieces of hardware and
software, including System x(TM) and IBM TotalStorage(R) systems. Part 3 provides the first
half of the instructions you need to set up the storage backend, including
details on storage architecture, needed hardware, and the Storage Area Network.
|
 |
Articles |
 |
04 May 2007 |
|
| |
Linux system auditing by example
Think you have a secure Linux system? Following best practices during
installation and setup is a must, but if you haven't set up regular system auditing,
you're missing half the picture. This article discusses some existing tools and
offers a couple of sample scripts to automate the process in a real-world
environment.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Tuning LAMP systems, Part 2: Optimizing Apache and PHP
Applications using the LAMP (Linux, Apache, MySQL, PHP/Perl) architecture
are constantly being developed and deployed. But often the server administrator has
little control over the application itself because it's written by someone else.
This series of three articles discusses many of the server configuration items that
can make or break an application's performance. This second article focuses on steps
you can take to optimize Apache and PHP.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Second Life client, Part 3: Adding simple translation to Second Life
In the last part of our exploration of the Second Life software, learn how
to plug a simple command-line program into Second Life that provides a language
translation function.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Second Life client, Part 2: Digging into the documentation
The developer documentation in the Second Life client takes the form of a
wiki. In Part 2 of our ongoing exploration of the Second Life software, take a look
at that documentation, and use it to jump-start some modifications to the client.
|
 |
Articles |
 |
30 Apr 2007 |
|
| |
Configuring SUSE Linux on POWER5 to maximize performance
IBM POWER5(TM) and POWER5+(TM) systems provide excellent virtualization
capabilities. Understand factors affecting virtualization performance of IBM POWER5
systems using SUSE Linux(R) Enterprise Server (SLES) 10. Learn how to use
system tools that can help diagnose and solve performance problems. See
examples of how to test for and improve performance.
|
 |
Articles |
 |
26 Apr 2007 |
|
| |
Sugar, the XO laptop, and One Laptop per Child
One Laptop per Child (OLPC) is an organization whose mission is to develop
a low-cost laptop (USD100) with accompanying software to spread computer literacy to
children around the world. Because the device targets children, it must provide a
novel user interface and applications that allow children to experiment with tools
for expression and learning. The operating system for the OLPC is a port of the
Linux kernel but with a unique interface called Sugar. In this article, learn about the
Sugar human interface, see how to virtualize an OLPC laptop on a standard PC using
QEMU, and take a tour of Sugar and the OLPC capabilities.
|
 |
Articles |
 |
24 Apr 2007 |
|
| |