Image of Android Wireless Application Development
Image of Operating System Concepts
Image of Advanced Programming in the UNIX Environment, Second Edition (Addison-Wesley Professional Computing Series)
Image of Linux Kernel Development (3rd Edition)

My Thoughts on Systemd on RHEL7

From the earliest days of systemd, I have been opposed to the technology as far as it’s use on enterprise servers is concerned. Now that RHEL7 (Red Hat Enterprise Linux v7), which uses systemd instead of upstart, is starting to replace older versions of RHEL in enterprise and DOD environments, I thought I would revisit the issue. My technical reasons for opposing systemd on servers are as follows: There is no guarantee that services will be started in the same order each time a server is rebooted. Logs are binary, non-transactional and in a different format than previously. This means

YUM Package Installation Updating and Removal Forensics

In previous posts I examined the internals of RPM packages and the RPM database itself. In this post, I explore how to trace RPM package installation, update and removal on Linux distributions which use YUM (YellowDog Update Modified). If you examine /var/log/yum.log, an example of which is shown below, you will note that the date component of each entry includes the day and month but not the year. Feb 15 10:00:44 Updated: ibus-1.5.5-1.fc20.x86_64 Feb 15 10:00:45 Updated: ibus-gtk2-1.5.5-1.fc20.x86_64 Feb 15 10:00:47 Updated: python-boto-2.23.0-1.fc20.noarch Feb 15 10:00:48 Installed: python-dropbox-1.6-4.fc20.noarch Feb 15 10:00:56 Installed: python-crypto-2.6.1-1.fc20.x86_64 Feb 15 10:00:57 Installed: python-paramiko-1.10.1-2.fc20.noarch Feb 15

Exploring Cisco UCS Emulator Internals

Cisco UCS (Unified Computing System, codenamed Project California during development) was introduced in 2009. It was originally developed as a data center server technology optimized for VMware virtualization workloads, but nowadays is used in many mid-size and large enterprises. One of the key advantages of UCS from a system administration perspective is the radical reduction in system management points to a single management point called the UCS Manager (UCSM) which is implemented as an NX-OS kernel module in a Cisco Nexus 6000 series Fabric Interconnect (FI) switch. A FI is essentially a Top-Of-Rack switch as far as UCS is concerned.

Programmatically Retrieve RPM Package Details

Recently, I needed to retrieve details about software packages installed on Fedora 15, Red Hat Enterprise Linux, CentOS and other distributions which distribute their software packages using the RPM Package Manager. To my surprise, what should have been a relatively simple task turned out to be quite messy because of changes in the RPM library APIs and internal format over the last few years. In this post, I demonstrate how to retrieve information about RPM packages using C and Python. RPM is a command-line or API driven package management system capable of installing, uninstalling, verifying, querying, and updating Linux or

Installing Google Chrome on Fedora

Today I finally decided to drop using Firefox on my Linux systems and move to using the Google Chrome browser. I have been unhappy with Firefox for some time since design and marketing people seem to have taken control of the Firefox development process in the Firefox 3.5 days. The final straw for me was the recent EOL’ing of Firefox 4 after only a few months (I use a number of extensions that hook deep into Firefox) and the lack of websocket support (currently scheduled for Firefox 6). Much to my surprise I discovered that the Chrome browser is not