|Open source desktop publishing with Scribus
Scribus is an open source, graphical desktop publishing (DTP) tool that focuses on layout, frames, styles, color management, and intercolumn document flow. Scribus is free software that runs on the Linux, Windows, and Mac OS X platforms, and provides most of the capabilities of traditional DTP tools at no cost.
|16 Apr 2013|
|Using Linux in a Windows world
Linux is the operating system of choice for most servers on the Internet and is growing in popularity as a desktop operating system. However, simply migrating to Linux on your desktop doesn't guarantee that you can still interact with all of the enterprise resources that your job or interests may require. This article discusses additional configuration tasks that you may need to undertake to interact with legacy Microsoft Windows files and file servers and use new network hardware from your desktop Linux system.
Also available in: Chinese
|03 Apr 2013|
|Process real-time big data with Twitter Storm
Storm is an open source, big-data processing system that differs from other systems in that it's intended for distributed real-time processing and is language independent. Learn about Twitter Storm, its architecture, and the spectrum of batch and stream processing solutions.
|02 Apr 2013|
|Bash by example, Part 2
In his introductory article on bash, Daniel Robbins walked you through some of the scripting language's basic elements and reasons for using bash. In this, the second installment, Daniel picks up where he left off and looks at bash's basic constructs like conditional (if-then) statements, looping, and more.
Also available in: Japanese
|18 Feb 2013|
|Learn Linux, 101: Search text files using regular expressions
Learn how to use regular expressions, and then use them to find things in files on your filesystem. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun.
|18 Feb 2013|
|Learn Linux, 101: Create partitions and filesystems
Learn how to create partitions on a disk drive and how to format them for use on a Linux system as swap or data space. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about partitions and Linux filesystems for your own use.
|04 Dec 2012|
|Learn Linux, 101: Boot managers
Learn how to choose and configure a boot manager for your Linux system. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun.
|04 Dec 2012|
|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.
|04 Dec 2012|
|Learn Linux, 101: Hard disk layout
Learn how to design a partition layout for disks on a Linux system. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun.
|27 Nov 2012|
|Wrap GObjects in Python
Learning how to wrap GTK+ C modules for use in Python will enable you to use a C-coded GObject in Python whenever you like, whether or not you're especially proficient in C.
|15 Nov 2012|
|Managing VMs with the Virtual Machine Manager
Explore the use of virt-manager, its capabilities on modest hardware, and how to use it to manage and monitor live VM performance.
|31 Oct 2012|
|Virtualize the IBM DB2 pureScale Feature on Linux using Kernel-based Virtual Machine
Learn how you can improve your return on investment when you deploy the IBM DB2 pureScale Feature with Linux on IBM System x servers. Modern System x servers have an ample number of cores and amount of memory and I/O capability. By using virtualization technology, you can deploy multiple DB2 pureScale instances on a common infrastructure and achieve greater efficiency.
|25 Oct 2012|
|Recover inaccessible instances using QEMU
Suppose something went wrong and you discover you have an inaccessible Linux instance on IBM SmartCloud Enterprise? What can you do? The authors of this article walk you through the steps to recover an inaccessible Linux instance. They show how to capture a private image, copy it to persistent storage, use QEMU to boot the captured image or mount it using kpartx, fix the problem, and then import the image back into the cloud.
|18 Oct 2012|
|Implement POSIX Semaphore APIs using System V Semaphores APIs
Need to use POSIX APIs but the development platform doesn't support them (such as z/OS)? Don't let that hold you back. Learn how you can implement POSIX Semaphore APIs using System V Semaphore APIs to bring your code to more platforms and keep it maintainable.
|16 Oct 2012|
|Explore Python, machine learning, and the NLTK library
Machine learning lies at the intersection of IT, mathematics, and natural language, and is typically used in big-data applications. This article discusses the Python programming language and its NLTK library, then applies them to a machine learning project.
|09 Oct 2012|
|Ensure a resilient virtual server
IBM PureFlex System comes with the hardware pre-integrated and the management stack pre-loaded for convenience, but there are a few manual steps you need to do before it can be used to host resilient virtual servers. In this article, the authors explain and show how to set up and deploy a resilient virtual server (in this article, Red Hat's KVM hypervisor is used).
|19 Sep 2012|
|Learn Linux, 101: Runlevels, shutdown, and reboot
Learn to shut down or reboot your Linux system, warn users that the system is going down, and switch to a more or less restrictive runlevel. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about shutting down, rebooting, and changing runlevels.
|18 Sep 2012|
|Introducing Spring Roo, Part 7: Develop Spring MongoDB applications using Spring Roo
MongoDB is a very popular document-oriented, horizontally-scalable NoSQL datastore. With Spring Roo version 1.2, you can build Spring applications with MongoDB as data storage solutions. Investigate MongoDB and then build an enterprise Spring MongoDB application using Spring Roo.
|07 Sep 2012|
|Build custom embedded Linux distributions with the Yocto Project
The Yocto Project is an open source project formed with the goal of making embedded Linux development easier and more portable across architectures. This article introduces the project and provides a step-by-step walk through on how to get started.
|28 Aug 2012|
|Understand Representational State Transfer (REST) in Ruby
REST, or Representational State Transfer, is a distributed communication architecture that is quickly becoming the lingua franca for clouds. It's simple, yet expressive enough to represent the plethora of cloud resources and overall configuration and management. Learn how to develop a simple REST agent from the ground up in Ruby to learn its implementation and use.
|17 Aug 2012|
|Explore Linux as a scientific computing platform
Linux is a great platform for scientific computing and is heavily used by the academic community for numerous tasks. While many open source projects address specific applications, the Sage mathematical project delivers a more generic problem-solving capability. Python is the primary language for many of the highest profile scientific applications, which this article discusses.
|07 Aug 2012|
|Accelerate to Green IT - A practical guide to application migration and re-hosting
This guide has been developed based on implementation experience in moving application workloads from a distributed environment, such as AIX workload on Power or pSeries, RS 6000 hardware, Solaris workload on Sun hardware or Linux workload on x86 hardware (that is, IBM eServer to IBM System z primarily IBM System z9 or z10 models).
|16 Jul 2012|
|Make the most of large drives with GPT and Linux
Once a remote prospect, an important barrier in disk storage has become a reality: the venerable master boot record (MBR) partitioning scheme can't fully handle disks larger than 2.2TB (2TiB). With disks as large as 3TB readily available and with much larger RAID arrays common, alternatives to the MBR partitioning scheme have become important to understand. 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.
Also available in: Russian
|03 Jul 2012|
|Secure programming with the OpenSSL API, Part 1: Overview of the API
Learning how to use the API for OpenSSL -- the best-known open library for secure communication -- can be intimidating, because the documentation is incomplete. Fill in the gaps, and tame the API, with the tips in this article. After setting up a basic connection, see how to use OpenSSL's BIO library to set up both a secured and unsecured connection. And learn a bit about error detection as well.
|28 Jun 2012|
|Linux for Windows systems administrators: Administer Linux with GNOME desktop tools
Working with Linux doesn't mean your work is restricted to command-line tools. True, most experienced Linux administrators use command-line tools for convenience and more efficient administration. However, the GNOME project provides some excellent tools for managing a Linux server using a graphical user interface (GUI). Using your Microsoft Windows background experience, you might find that these tools make the transition less dramatic.
|26 Jun 2012|
|Create a working compiler with the LLVM framework, Part 1
The LLVM compiler infrastructure provides a powerful way to optimize your applications regardless of the programming language you use. Learn the basics of the LLVM in this first article of a two-part series. Building a custom compiler just got easier!
|19 Jun 2012|
|Create a working compiler with the LLVM framework, Part 2
The LLVM compiler infrastructure provides a powerful way to optimize your applications regardless of the programming language you use. Learn to instrument code in LLVM, using the clang API to preprocess C/C+ code in this second article of a two-part series.
|19 Jun 2012|
|Introducing the 3.3 and 3.4 Linux kernels
In March 2012, version 3.3 of the Linux kernel was released (followed in by version 3.4 in May). In addition to a plethora of small features and bug fixes, several important changes have arrived with these releases, including the merging of the Google Android project; merging of the Open vSwitch; several networking improvements (including the teaming network device); and a variety of file system, memory management, and virtualization updates. Explore many of the important changes in versions 3.3 and 3.4, and have a peek at what's ahead in 3.5.
|19 Jun 2012|
|Evaluate performance for Linux on POWER
Learn to evaluate Linux on POWER performance issues that focus on compiled language (such as C or C++) environments. This article explains the POWER7 CPI model and demonstrates the use of commonly available Linux tools to show potential CPU stalls, pipeline hazards, and performance issues. Analyze and optimize an algorithm for POWER7 in the final section.
|12 Jun 2012|
|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.
|08 Jun 2012|
|Track KVM guests with libvirt and the Linux audit subsystem
Libvirt is an important tool for managing virtualized environments on Linux hosts. An audit trail of events that occur on the host during libvirt's execution is often necessary for monitoring, compliance, forensics, and other purposes. This article describes how to use the Linux audit subsystem on the host to track operations performed by libvirt and how to correlate the events with other host events to provide a consistent and comprehensive view of changes performed through libvirt.
|05 Jun 2012|
|Secure Linux: Part 1. SELinux – history of its development, architecture
and operating principles
Learn about the basic milestones in the development, architecture, and operating principles of Security-Enhanced Linux, the powerful remix of Linux providing mandatory access control. This article was specially selected for translation by developerWorks Russia as an example of developerWorks world-wide offerings.
|30 May 2012|
|Practice: Process logs with Apache Hadoop
Logs are an essential part of any computing system, supporting capabilities from audits to error management. As logs grow and the number of log sources increases (such as in cloud environments), a scalable system is necessary to efficiently process logs. This practice session explores processing logs with Apache Hadoop from a typical Linux system.
|30 May 2012|
|Optimizing resource management in supercomputers with SLURM
The arms race of supercomputers is fascinating to watch as their evolving architectures squeeze out more and more performance. One interesting fact about supercomputers is that they all run a version of Linux. To yield the greatest amount of power from an architecture, the SLURM open source job scheduler (used by the Chinese Tianhe-IA supercomputer, and the upcoming IBM Sequoia supercomputer) optimizes resource allocation and monitoring. Learn about SLURM and its approach to parallelizing workloads in clusters.
|22 May 2012|
|Linux for Windows systems administrators: Understand how to execute applications that run on Linux
Using applications is the main purpose of a Linux server. Whether your newly installed application runs from a desktop or the command line, this article helps you use your Microsoft Windows experience to quickly understand how to run applications on Linux.
|17 May 2012|
|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.
|17 May 2012|
|Use of IPSEC in Linux when configuring network-to-network and point-to-point VPN connections
This article takes a detailed look at the design principles, the basis for deploying VPN, and the IPSEC protocol concept, providing a description of the general features of IPSEC and of the mechanisms required for its implementation. This article was specially selected for translation by developerWorks Russia as an example of developerWorks world-wide offerings.
|15 May 2012|
|Add Linux power to wireless routers with advanced tips and tricks for DD-WRT
DD-WRT brings all the power of the Linux networking stack to inexpensive wireless routers, turning a consumer router into a mighty networking powerhouse. Learn how to install and secure DD-WRT, and learn about the powerful, flexible command line behind the GUI.
|08 May 2012|
|Meet six misunderstood Ruby features
Suppose you are a C++ developer and you need to do some prototyping quickly in Ruby. When you pick up a Ruby reference book like the Pickaxe or browse the Ruby site, you see familiar constructs like class declaration, support for threads, and exception handling. Just when you thought you knew how Ruby works, you realize that concurrency in your Ruby code is not behaving like Boost threads, catch and throw are not what they seem, and others have used something called self all over the place in their Ruby script. Welcome to Ruby!
|01 May 2012|
|Protect your data at the speed of light with gKrypt, Part 2
Meet the gKrypt engine, the world's first package to employ general purpose graphics units (GPGPUs) for data encryption. It uses an Advanced Encryption Standard (AES) based 256-bit block cipher. This is the second article in a two-part series on AES encryption and the gKrypt engine. Part 1 introduced gKrypt and explained the AES algorithm in detail, its parallel breakdown and how to map it on a massive GPU architecture using the Compute Unified Device Architecture (CUDA). Part 2 looks at how AES is implemented on CUDA.
|01 May 2012|
|Protect your data at the speed of light with gKrypt, Part 1
Meet the gKrypt engine, the world's first package to employ general purpose graphics units (GPGPUs) for data encryption, which is an important tool for information security. It uses an Advanced Encryption Standard (AES) based 256-bit block cipher to provide robust security. In this Part 1 of a two-part series, explore the AES, the GPU port of the Rijndael algorithm for Linux, the parallelizing of the AES algorithm, and the use of the gKrypt Engine supporting CUDA for NVIDIA-based GPUs.
|01 May 2012|
|Enable multiuser logins with VNC
Virtual Network Computing (VNC) is a popular tool for providing remote access to computers. The usual VNC configuration is optimized for single-user workstations, and logging in to the VNC port directly accesses a single user's desktop. This configuration is awkward on multiuser computers, however. Fortunately, you have an alternative. By linking VNC to a Linux computer's normal X Display Manager Control Protocol (XDMCP) server, accessing the VNC port enables users to provide their user names and passwords, thereby enabling a single VNC server instance to handle multiple user logins.
|24 Apr 2012|
|Implement strong WiFi encryption the easy way with hostapd
Keep wireless security simple. hostapd, the Host Access Point daemon provides solid WiFi encryption that meets enterprise standards without all the overhead of running FreeRADIUS. Learn more about this tool and how to incorporate it into your environment.
|10 Apr 2012|
PubSubHubbub is an open protocol of web hooks for notifications of updates to news feeds in a publish/subscribe framework. It is defined as a set of HTTP server-to-server interactions integrated into Atom and RSS extensions. Despite the odd name, PubSubHubbub is fairly straightforward to use for designing applications with a lot of information updates. Learn about the standard and open-source implementations and support software for PubSubHubbub.
|03 Apr 2012|
|Learn Linux, 101: RPM and YUM package management
Learn how to install, upgrade and manage packages on your Linux system. This article focuses on the Red Hat Package Manager (RPM) developed by Red Hat, as well as the Yellowdog Updater Modified (YUM) originally developed to manage Red Hat Linux systems at Duke University's Physics department. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to explore the best ways to add new software and keep your system current. [Typographical errors noted by alert readers (see Comments at the end of this article) have been corrected, thanks! --Ed.]
|19 Mar 2012|
|Look at Linux, the operating system and universal platform
Linux is everywhere. If you peer into the smallest smart phone, to the virtual backbone of the Internet, or the largest and most powerful supercomputer, you'll find Linux. That's no simple feat given the range of capabilities expected from these platforms. Discover the omnipresence of Linux and how it supports devices large and small as well as everything in between.
|13 Mar 2012|
|Create solutions on IBM SmartCloud Enterprise: Best practices and tools
Models, tools, and concepts start this series of articles that describes the use of software bundles, image management, and other tools on IBM SmartCloud Enterprise to solve practical problems in enterprise IT management. This article presents an overview of software bundle and image management concepts, explains the resource model, compares this platform to other software package management platforms, discusses use cases, and surveys the tools available. The concepts are illustrated with the use of an example energy-saving calculator application.
|09 Mar 2012|
|Process your data with Apache Pig
Apache Pig is a high-level procedural language for querying large semi-structured data sets using Hadoop and the MapReduce Platform. Pig simplifies the use of Hadoop by allowing SQL-like queries to a distributed dataset. Explore the language behind Pig and discover its use in a simple Hadoop cluster.
|28 Feb 2012|
|Repair cloud virtual machine cloning errors
External data provisioning requirements such as network configurations like IP addresses can cause problems when cloning a virtual machine to use in a new environment. If the external data is not available during the process, the reconfiguration of the VM will likely be incomplete. The authors offer a way to handle this problem, even without much knowledge of the application or without a form of activation scripting to help. Runtime Image Activation (RIA) is a prototype command-line interface that lets you orchestrate networking techniques to make sure your cloned VMs are appropriately configured.
|20 Feb 2012|
|Import a Linux OS to SmartCloud Enterprise
Based on his own experiences successfully importing versions of CentOS and Ubuntu to IBM SmartCloud Enterprise, the author explains how to prepare your image and metadata, what kind of tools are required, how to set up your workbench, and delivers some tips for troubleshooting the process.
|20 Feb 2012|
|Boost IBM InfoSphere Streams performance with Linux channel bonding
Have you ever wondered if Linux channel bonding would allow you to get faster throughput using IBM InfoSphere Streams? We have answered that question when running InfoSphere Streams release 220.127.116.11 on Red Hat Enterprise Linux release 5.5. In this article, we describe what channel bonding is at a high level, how we set up our test environment, and the results we observed. In our experiments, channel bonding increased bandwidth by as much as 68 percent.
|16 Feb 2012|
|Data analysis and performance with Spark
Spark is an interesting alternative to Hadoop, with a focus on in-memory data processing. This practice session explores multithread and multinode performance with Scala, Spark, and its tunable parameters.
|14 Feb 2012|
|Pure speed with mod_pagespeed
mod_pagespeed is a module from Google for Apache HTTP Servers that can improve the page load times of your website. It programmatically and automatically incorporates all the best practices for a speedy website into your site, and requires only minimal configuration. With mod_pagespeed, Apache web hosters can improve website speed quickly and easily.
|31 Jan 2012|
|Linux for Windows systems administrators: Managing and monitoring the extended file system
Windows and Linux use different file system architectures. Fortunately, your Windows experience can put you on the fast track to being comfortable managing and monitoring the Linux extended file systems. This article helps you learn your way around the extended disk file system family on Linux.
|17 Jan 2012|
|Scripting KVM with Python, Part 2: Add a GUI to manage KVM with libvirt and Python
Further explore how to use Python to create scripts for managing virtual machines using KVM. Learn how to add a GUI to expand on the simple status and display tool.
|17 Jan 2012|
|Firewall uptime and security with iptables
Iptables is the standard Linux firewall application. It is easy to configure and maintain while powerful enough to provide the control expected from a high-end appliance. Learn how to get started with iptables, recover from common issues, and simulate a small-office usage scenario.
|04 Jan 2012|
|Learn Linux, 302 (Mixed environments): Performance tuning
In preparation for taking the Linux Professional Institute Certification exam LPI-302 for systems administrators, learn how to measure Samba performance and make Samba work faster.
|20 Dec 2011|
|Elevate cloud security with privilege delegation
In this article, the author discusses the needs that drive migration of data centers into the cloud, details the role of virtualization in both public and private cloud infrastructures, and outlines the security and compliance implications of cloud computing in order to provide insight into the protection of sensitive data in the cloud through "administrative access" and "privileged delegation."
|14 Dec 2011|
|Learn Linux, 302 (Mixed environments): Samba security
In preparation for taking the Linux Professional Institute Certification exam LPI-302 for systems administrators, learn how to secure Samba and troubleshoot problems related to security.
|13 Dec 2011|
|Learn Linux, 302 (Mixed environments): A roadmap for LPI-302
Use this roadmap to find IBM developerWorks articles that help you learn and review the fundamentals of supporting Linux in a mixed UNIX/Microsoft environment. If you are also pursuing professional certification as a Linux systems administrator, these articles can help you study for the Linux Professional Institute Certification exam LPI-302. This roadmap is organized according to the 21 objectives in the LPI-302 exam, which is required to get the LPIC-3 specialization in mixed environments.
|13 Dec 2011|
|Evolution of shells in Linux
Pointing and clicking is fine for most day-to-day computing tasks, but to really take advantage of the strengths of Linux over other environments, you eventually need to crack the shell and enter the command line. Lots of command shells are available, from Bash and Korn to C shell and various exotic and strange shells. Learn which shell is right for you. [Note: Minor corrections were made to Listings 2 and 3.]
|09 Dec 2011|
|Learn Linux, 302 (Mixed environments): Integration with Active Directory
Since the release of Windows 2000, Microsoft has offered Active Directory as its directory service, and later versions have renamed it Active Directory Domain Services (AD DS). AD DS leverages the popular LDAP for resource management, Kerberos for authentication, and tight integration with DNS for name resolution. If you currently use AD DS, integrating a Linux server can help centralize identity management and maintenance for Linux printing and file services. However, doing so can be challenging. Fortunately, Samba provides a solution for Linux integration with AD DS that requires no modification to the directory service. [Note: We corrected the Listing 4 caption and clarified the section on "Using the net command" per reader feedback.]
|08 Dec 2011|
|Scripting KVM with Python, Part 1: libvirt
This two-part series explores how to use Python to create scripts for managing virtual machines using Kernel-based Virtual Machine (KVM). In this installment, learn the basics of using libvirt and the Python bindings to build a few simple status and display tools.
|06 Dec 2011|
|Learn Linux, 302 (Mixed environments): Linux file system and share/service permissions
In preparation for taking the Linux Professional Institute Certification exam LPI-302 for systems administrators, learn how Samba interacts with the Linux file system and how to manage permissions.
|06 Dec 2011|
|Scheduling in Hadoop
Get to know Hadoop scheduling, and explore two of the algorithms available today:fair scheduling and capacity scheduling. Also, learn how these algorithms are tuned and in what scenarios they're relevant.
|06 Dec 2011|
|Learn Linux, 302 (Mixed environments): Working with Windows clients
While UNIX and Linux computers can be clients to a Samba server, most clients of most Samba servers run Windows. Therefore, you should know how to use the Windows features that enable you to connect to a Samba server. For example, using certain Samba commands on a Linux computer can help you debug problems should they occur.
|29 Nov 2011|
|Easy and beautiful documentation with Sphinx
Create maintainable, style-driven documents that can be automatically distributed in different formats using Sphinx. Discover how Sphinx abstracts the tedious parts and offers automatic functions to solve common problems like title indexing and special code highlighting.
|29 Nov 2011|
|Learn Linux, 302 (Mixed environments): Winbind
If your network includes a domain controller (either a Windows computer or a Samba server), you can use its user database instead of or in addition to maintaining local login users in a Linux computer's local account database. Doing so requires using a set of tools known as Winbind. This toolset can be handy even for Linux computers that don't run Samba to share files or printers; users with Windows domain accounts can log in at the console or use SSH to access Linux-only features, use POP or IMAP mail servers with Windows domain authentication, and so on.
|15 Nov 2011|
|Learn Linux, 302 (Mixed environments): NetBIOS and WINS
Naming is unusual in SMB/CIFS networks. Although modern clients can use Internet domain names to refer to each other, older clients relied on a Microsoft-specific system known as the Windows Internet Name Service (WINS) server, or the NetBIOS Name Server (NBNS); the two terms are synonymous. Configuring Samba properly for name resolution is therefore important. So is configuring browsing, which is the mechanism by which servers learn what shares are available on specific servers.
|01 Nov 2011|
|Learn Linux, 302 (Mixed environments): CIFS integration
In addition to, or instead of, functioning as a server on a Windows network, a Linux computer can function as a client. You can use an ftp-like program to transfer files and modify a server, or you can mount a share from a Samba or Windows Server machine on your Linux computer, giving normal programs the ability to access files directly on the server. When doing so, though, keep in mind the characteristics of the original SMB protocol and its newer CIFS variant, particularly when accessing a Windows Server machine: You may not have access to all the file system features that a Linux computer supports.
|25 Oct 2011|
|Learn Linux, 302 (Mixed environments): Managing user accounts and groups
If you manage user and group accounts, you may find that these accounts don't always work seamlessly for users in mixed environments--a common source of frustration for both users and systems administrators. Fortunately, the Samba suite provides tools to help you manage the process. In this article, learn how to manage user and group accounts in your mixed environment.
|18 Oct 2011|
|Learn Linux, 302 (Mixed environments): Authentication and authorization
In preparation for taking the Linux Professional Institute Certification exam LPI-302 for systems administrators, learn how to set up and store passwords, integrate Samba with LDAP, and use ACLs to protect your Linux installation.
|11 Oct 2011|
|Learn Linux, 302 (Mixed environments): Internationalization
If you work in a mixed environment in which non-English characters are used, you need to understand character codes and code pages as they relate to your locale. You also need to understand Linux and Windows environments differ when interpreting name spaces. Although Samba supports internationalization, if you work with older Windows clients , Samba 2.x versions, or otherwise need to use a specific character set other than Unicode, you'll need to do a bit of configuration tuning. Depending upon the environment's locale in use, building and patching conversion libraries may also be necessary. In this article, learn how to handle internationalization in your Linux environment.
|04 Oct 2011|
|Learn Linux, 302 (Mixed environments): SWAT configuration
The Samba Web Administration Tool (SWAT) is a web-based administration tool for Samba, enabling GUI configuration from any computer with a web browser. SWAT is a server in its own right, and like all servers, it requires at least minimal configuration. In this article, learn how to install and configure SWAT itself and how to use SWAT to manage Samba.
|27 Sep 2011|
|Learn Linux, 101: Boot the system
Learn to guide your Linux system through the boot process. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn about the boot process.
|20 Sep 2011|
|Trigger keyboard and mouse actions with your voice and xdotool
xdotool is a helpful library of instructions that allows programmers to emulate keystrokes and mouse actions. The particular strength of the tool comes when the keyboard or mouse is absent or in accessibility situations where the user is not physically able to employ regular input methods. This article has two goals: first, to provide an introduction to the use of xdotool in a Linux desktop environment, and second, to use voice input to trigger actions typically done through hardware input. A concluding example uses XML to store xdotool-oriented code fragments for insertion into auto-generated dialog manager code.
|06 Sep 2011|
|Learn Linux, 101: Manage shared libraries
Learn how to determine which shared libraries your Linux executable programs depend on and how to load them. You can use the material in this article to study for the LPI 101 exam for Linux system administrator certification, or just to learn for fun. [Typographical errors noted by alert readers (see Comments at the end of this article) have been corrected, thanks! --Ed.]
|31 Aug 2011|
|Learn Linux, 302 (Mixed environments): Domain control
In SMB/CIFS parlance, a domain is similar to a workgroup: It's a collection of related computers, typically existing on a single local network. A domain, however, features a special computer known as a domain controller that manages logons for all the servers in the domain. It also provides a few additional services. Samba can function as a domain controller, but you need to set several Samba options for it to do so.
|16 Aug 2011|
|Learn Linux, 302 (Mixed environments): Print services
In preparation for taking the Linux Professional Institute Certification exam LPI-302 for systems administrators, learn how to set up printers and share them between Linux and Microsoft clients.
|09 Aug 2011|
|A data compression primer
This article is a primer on the basic types of data compression, with an introductory explanation of the mathematics and algorithms that go into compression techniques. Brief consideration and examples are given to help you evaluate what types of compression tools and techniques are suited to your own applications. Pointers are provided to more advanced theoretical discussions and ready-to-use compression tools and libraries. [Update: Tables 1 and 2 were updated to correct formatting errors. -Ed.]
|21 Jul 2011|
|Ceylon: True advance, or just another language?
The language road in computer science is littered with the carcasses of what was to be "the next big thing." And although many niche languages do find some adoption in scripting or specialized applications, C (and its derivatives) and the Java language are difficult to displace. But Red Hat's Ceylon appears to be an interesting combination of language features, using a well-known C-style syntax but with support for object orientation and useful functional aspects in addition to an emphasis on being succinct. Explore Ceylon and find out if this future VM language can find a place in enterprise software development. [Update: The fail block is clarified in Listing 7. -Ed.]
|07 Jul 2011|
|Practice: Debian package management
A package is software that is bundled and ready for installation on a Linux system. Installing and removing packages are basic operations for any Linux user or administrator. This article offers hands-on practice with Debian package management that will help you feel comfortable performing these tasks in a real-world environment. The exercises and solutions in this article focus on a variety of package management tasks.
|21 Jun 2011|
|Practice: RPM and YUM package management
A package is software that is bundled and ready for installation on a Linux system, and installing and removing packages are basic operations for any Linux user or administrator. This article offers hands-on practice with the Red Hat Package Manager (RPM) and YUM software management tools that will help you learn to perform these tasks in a real-world environment. The exercises and solutions in this article focus on a variety of package management tasks.
|21 Jun 2011|
|Practice: Hard disk layout
If you're designing or otherwise working with partition tables, understanding how to navigate both fdisk and parted can help you plan hard disk layout with confidence. The exercises and solutions in this article give you practice in designing and working with a hard disk layout for a Linux computer.
|21 Jun 2011|
|Practice: Manage shared libraries
A great many Linux applications use shared libraries, executable code that a program links to only at runtime. This dynamic linking cuts down on package size and memory requirements. Linux provides tools for working with shared libraries, knowledge of which is an important part of an admin's skill set. The exercises and solutions in this article give you practice managing shared libraries.
|21 Jun 2011|
|Practice: Boot managers
Changing the boot manager configuration lets you boot into different operating systems or different versions of the same operating system. This article offers hands-on practice to build your proficiency in making practical changes in your boot manager's configuration. The exercises and solutions in this article focus on adding a kernel to an existing GRUB configuration and interact with GRUB at boot time.
|21 Jun 2011|
|Build a Python app for parsing shared memory dumps
Learn how to parse a machine-readable shared memory dump on a Linux platform and extract your expected data format using Python and the struct utility. In this article, you'll first see how to determine the format of the data by reading the binary file format of the dump file; you need this in order to parse, extract, and analyze the data. Next, you'll see how to parse the file based on the format, and then match the results with the expected format to output a validation result. Update: In the Downloads section you'll find a working Python application and dump file that you can use as-is or modify for your own needs. We changed the name of the dump file throughout this article to match the name used in the download. -Ed.
|30 May 2011|
|Learn Linux, 302 (Mixed environments): File services
In preparation for taking the Linux Professional Institute Certification exam LPI-302 for systems administrators, learn how to configure Samba and structure your configuration file. Also, learn how Samba interacts with the network, how to configure logging, and how to debug problems with Samba.
|25 May 2011|
|All about pseudo, Part 2: Under the hood
Part 2 of this series details how pseudo's root emulation works by tracking the path of an intercepted call to the database and back. If you want to replace open(2) with your own code, this is where you find out how.
|17 May 2011|
|Automating infrastructure management with Cfengine, Part 1: Installing servers and clients
Cfengine is a popular data center automation solution used by organizations around the world. It is scalable to tens of thousands of machines from laptops, desktops, and embedded devices to mainframes. Learn how you can use this versatile and flexible technology for solving data center issues.
|03 May 2011|
|Application virtualization, past and future
When you hear the phrase "virtual machine" today, you probably think of virtualization and hypervisors. But VMs are simply an older concept of abstraction, a common method of abstracting one entity from another. This article explores two of the many newer open source VM technologies: Dalvik (the VM core of the Android operating system) and Parrot (an open source VM technology for efficiently executing dynamic languages).
|03 May 2011|
|Learn Linux, 302 (Mixed environments): Configure Samba
Samba uses a human-readable file to manage and store its configuration parameters, so the most sophisticated tool you'll need to configure Samba is a text editor. Learn how the configuration file is structured, how Samba interacts with the network, how to configure logging, and how to debug problems with Samba.
|27 Apr 2011|
|Learn Linux, 302 (Mixed environments): Install and upgrade Samba
Like most software, Samba must be installed before it can be used. Several methods of doing this exist, but they fall into two broad categories: compiling and installing from source code and installing pre-built binary packages. The former is the more difficult but also more flexible option, while the latter is quite easy on most Linux distributions but locks you into the decisions your distribution maintainer has made concerning supported versions, patches applied, compile-time options enabled, and so on.
|20 Apr 2011|
|Capturing screen shots and program interaction on UNIX and Linux systems: Part 2, Simple graphical screen and window capture
Capturing screen images of applications is something that all technical writers, most graphical application developers, many technical marketing staff members, and even many users need to do. Modern UNIX systems provide a number of different tools to capture graphical screens and single windows. This article, the second of three, focuses on tools that are present on every Linux and UNIX system that uses the X Window System. These tools make it easy to capture graphical portions of the screen to help illustrate both proper and improper program behavior.
|19 Apr 2011|
|Virtualization for embedded systems
Today's technical news is filled with stories of server and desktop virtualization, but there's another virtualization technology that's growing rapidly: embedded virtualization. The embedded domain has several useful applications for virtualization, including mobile handsets, security kernels, and concurrent embedded operating systems. This article explores the area of embedded virtualization and explains why it's coming to an embedded system near you.
|19 Apr 2011|
|Learn Linux, 302 (Mixed environments): Configure and build Samba from source
Samba uses Trivial Database files to store both persistent and temporary data as part of its job integrating file and print sharing between Linux and Windows. In preparation for the Linux Professional Institute Certification exam LPI-302, learn all about the Samba Trivial Database (TDB) format that Samba uses to store information, how to look inside TDB files, and how to back them up.
|14 Apr 2011|
|Managing source code with Mercurial
Managing the source code for a software development project is only slightly less important than writing it in the first place. UNIX and Linux systems offer a rich selection of version control system (VCS) packages, each of which takes a slightly different approach to this common concern. This article focuses on the Mercurial source code management system, often simply referred to as hg. Mercurial provides a powerful, modern, and light-weight solution for source code control that makes it easy for developers to make and debug their changes to a software project while maintaining a stable, centralized source code repository that all project members can depend upon.
|12 Apr 2011|
|Deploy the DB2 pureScale Feature on Linux
The IBM DB2 pureScale Feature lets you scale out your database system by easily adding machines to your cluster. This article walks you through the process of deploying the DB2 pureScale Feature on SUSE Linux. It uses a 10 gigabit Ethernet infrastructure in a two System x 3850 X5s server configuration that is connected to a DS5100 storage controller. The article also includes post-installation steps and basic information for using DB2 pureScale, such as how to add and remove members and how to make sure you're prepared for high availability and disaster recovery.
|07 Apr 2011|
|Linux and the storage ecosystem
Linux is the Swiss Army knife of file systems, and it also offers a wide variety of storage technologies for both desktops and servers. Beyond the file system, Linux incorporates world-class NAS and SAN technologies, data protection, storage management, support for clouds, and solid-state storage. Learn more about the Linux storage ecosystem and why it's number one in server market share.
|29 Mar 2011|
|Create a PHP development environment on the cloud
Learn how to provision a Linux data and web application server, convert your private key, connect to the service via SSH, install a pre-configured PHP distribution, and test your connections.
|14 Mar 2011|