System Administration
The world of system administration is hugely varied. This section is really a gathering of ideas, hacks, hints, rants and general information about being a sysadmin. Naturally we have a bias towards system automation and configuration management, using Chef. There’s also a fairly strong bias towards Python and Ruby as general purpose programming languages.
Articles on System Administration
-
Command-line cookbook dependency solving with knife exec
Machines built with Chef are configured by applying roles, which in turn define which cookbooks and recipes should be applied to meet a stated policy. Cookbooks and recipes have dependencies, which are solve by the Chef server, but which are tricky to extract after the fact. This short article shows you how to drive the Chef server API using knife exec to extract this information.
-
Building a Devops team
As Devops grows in popularity and more and more organisations and teams are beginning to think about how they can start to apply some of the ideas and principles the movement advocates, a question that is often asked is “How do I build a Devops team?”. Brian Henerey, manager of operations engineering in the online technology group at Sony Computer Entertainment Europe, has succeeded, and in this article reveals how he did it.
-
Kanban for Sysadmin
Last night I popped into the Extreme Tuesday Club (XTC) for the first time in ages. I got into a conversation with Katherine Kirk from the BBC about Kanban, which made me realise I’ve been using Kanban for over 18 months. Back in 2009 I wrote an article on Kanban for Sysadmin which was published on the excellent Sysadvent calendar. Reading it back now, I still think it’s highly relevant! Last night’s conversation prompted me to republish it here.
-
Advanced Dependency Management with Yum Shell
Many years ago, Red Hat had a (rather unfair) reputation of being a Linux distrubution forever crippled by a painful and clumsy package management system. “Dependency Hell” was the name used to describe the situation one could get into where circular dependencies arose, and the user became stuck. Dependency hell (which was always a bit of a myth) is a thing of the past now, especially since RHEL 5 where Red Hat adopted the powerful Yellowdog Updater, Modified (yum) which CentOS and Fedora had used for some time. However, just occasionally, problems arise which require some black-belt dependency solving. This article shows you how to use the yum-shell feature for just this purpose.
-
How to print every nth line of a file
Sometimes a scripting language isn’t the right tool for the job. I’ve been working on a piece of code that parses huge logfiles. The test data needed to be representative across 24 hours - a simple slice wouldn’t do. I spent a few minutes knocking up a python script to print every 100th line when I stopped and thought ‘There’s a better way’!
-
DNS Zone File Fun with Python and Emacs
Sometimes we’re faced with a boring, manual, labourious job which really needs to be done, will take a fairly long time, and be pretty unpleasant. Whenever I’m faced with something like this, especially if it involves text, I try to make it interesting by setting myself the challenge of writing a script and/or using my editor to do the job faster than had I done it manually.
-
Building puppet and facter RPMs for CentOS or RHEL
In the first part of his excellent Puppet tutorial, John Arundel suggests that, given the speed with which Puppet develops and changes, and to keep things simple, Puppet should be installed from source. While for one box, this may be true, I tend to the view that you should use the native package manager wherever possible. In the case of CentOS or Redhat (the most common platforms for Puppet users, our survey says) , this means building RPMs. This article shows you how to build reusable puppet and facter RPMs, to make your life easier when you graduate from managing puppet on one server, to controlling a whole datacentre.
-
Setting the MySQL client as a user's shell
Sometimes corporate firewalls can be a real headache for developers. We had a situation today in which we needed to provide read-only access to a MySQL database, but had only ssh to the machine. We have a very strict user policy, so weren’t prepared to provide a shell account.
-
Mixing it up with lighttpd and Sinatra
The Atalanta Systems website runs on Debian stable, on lighttpd. It’s lightweight, and incredibly fast. This blog is built on Sinatra. I wanted to run both services on the same machine.
-
An open letter to Second Gear about not imposing windows newlines
The iPad is a great tool for increasing productivity for people on the move. However, this weekend my productivity was damaged by what seems to me to be an extraordinary decision to enforce Windows (CRLF) newlines to text files written in the Elements text editors. I feel quite strongly that this is a bad design decision, and that this could adversely affect other mac and linux users. If you agree, please write to support@secondgearsoftware.com and add your support.