How I regained control.


The decision to completely strip out my existing OS and replace it with a minimal, heavily customised system was not made at the drop of a hat. Naturally, the process of replacing my current system was likely to take some time. Before I could even think about switching my OS there was much preparation work that needed to be done. Which OS would I use as a basis for my new system? What was involved in installing the chosen system? How would the new system differ from what I was used to? And let's not even mention backing up existing data. Here is the process I went through.

Choosing a distro.

My new system had to fulfil a number of criteria. First and foremost, it needed to be open and free. Secondly, it needed to be as minimalist as possible. Finally, it needed to be infinitely configurable.

Naturally, these criteria eliminated a Windows or Mac based solution. I have spent many hours mulling over the prospect of one of the flavours of BSD, but I came to the conclusion that it would be advantageous to build on my established base of GNU/Linux rather than learning how to use an entirely new system (no matter how shiny it looked). I did however want to avoid any of the GNU/Linux distros which were aimed at "ease of use" for average users. While these distributions are a good way for a new user to get started with GNU/Linux, they tend to be weighed down with unnecessary bloat and limited configuration opportunities.

In the end, my choice of distro was narrowed down to two contenders: Crunchbang Linux and Arch Linux.


Crunchbang is a relatively new GNU/Linux distro, and takes its name from the control characters (#!) which reside at the beginning of many scripts to tell the system which interpreter to use.

Crunchbang is currently based on Debian's stable branch, and features a minimal install based around the OpenBox WM. This was an attractive point in itself; I had been running OB on my system for a while and appreciated its elegance. After signing up to the #! forums, I received a very warm welcome from the community.

Community is a crucial factor when I am choosing a distro. The analogy I like to use is that of a housing estate or village. If you get on well with your neighbours, chances are that you'll enjoy offering them assistance where required, and the odds are high that they will reciprocate. If however you live in a hostile environment surrounded by people with interests contrary to your own, you are likely to have an unhappy and unproductive time.

In addition to the warm welcome I received from the community, #! has a Live CD image available for download. This allowed me to give the distro a spin before committing myself. I was pleased with what I found. Crunchbang Linux had made a good initial impression.


Arch was a distribution about which I knew comparatively little. I knew that it was aimed at a knowledgeable user base; I knew that the Arch wiki had helped me solve a number of problems in the past; I knew that it was updated on a rolling-release schedule. Beyond that, I was fairly ignorant. A friend of mine had used Arch for a number of years and recommended it highly on the grounds of its configuration potential. However, it wasn't until I read about The Arch Way that I realised the ethos behind the project tallied very well with my own goals.

Simple, elegant, versatile, expedient. These are the four words which underpin the Arch project. More than that though, the Arch community expects its members to be useful contributors and independent learners. In order to register for the forums, you must answer a technical question ("what is the output of: date -u +%W$(uname)|sha256sum|sed 's/\W//g' ?"). This may seem harsh to some readers, but it's actually a great filtering device: if a new member knows the answer, then they have the level of expected knowledge; if the user does not know the answer, but takes the time to find out the answer by reading relevant texts, then they have the level of expected independent learning; if a user does not know the answer and cannot be bothered to expand his or her knowledge, then the Arch forums are not the place for them.

I was half expecting the clich├ęd "leet user welcome" from the Arch community, but I was pleasantly surprised. Users were welcoming and informative, and the entire place was bereft of the usual evangelising and vs threads which so often plague the forums of many a distro.

Arch did not offer a live CD. By its very nature, this would not be possible. With Arch, you install an absolute bare-bones system and then selectively add elements to it according to your needs. This is the opposite approach to many distros, which install a default system and then leave the user to remove things as necessary. Naturally, this approach appealed to me greatly.


My final decision was to go with Arch. The main reason for this was that I wanted to build an absolute minimal system in order to learn about how it worked as I built it. As minimal as Crunchbang is, there are still too many predetermined defaults. Also, I have been using Debian-based distributions for so long that I thought it would do me good (and satisfy my curiosity) to see how other distros work, and how they differ from what I am used to. However, I was very impressed with the general look and feel of Crunchbang. As such, it will provide a certain inspiration for how I want my final system to look.

Preparing my mind.

"Fools rush in where angels fear to tread." So the saying goes. I was about to make a huge alteration to my system, and I needed to make sure that I was prepared. As Arch was unlike most of the GNU/Linux distros I had used in the past, I felt it was pertinent to do a lot of reading before I took the plunge of installing. I needed contingency plans. What would I do if I couldn't bring up my network? Which files were responsible for configuring which pieces of hardware? Could I hope to reasonably restore order to my system if the worst should happen?

The answers to many of the questions I had were contained in the excellent beginner's- and installation-guides available on the Arch wiki. I read through the entirety of these texts before I even downloaded the installation ISO. I would have a separate machine by my side while I carried out the installation so that I could refer to these guides, but I always find it best to at least know the rough layout of the route you expect to take before beginning any journey.

I had decided on a new system to install. I had an idea of what would be involved in gutting my current system. I had a contingency if it all went pear-shaped (namely a #! live CD). It was time to prepare my system for the installation.

Preparing my computer.

My system holds an awful lot of data. Some of it is useful and necessary. Some of it is irreplacable. Some of it is frivolous garbage. Once, it was arranged in such a manner that I could easily separate the useful data from the garbage. However, over the years, much like a garage workshop or a teenager's bedroom, the data stores have become a terrifying disorganised mess.

When I was younger, with no real responsibility or important documents to hold on to (besides those pictures I'd downloaded from that Dutch BBS), I would have just completely formatted my hard disks and installed clean. These days it's not so simple. Lesson plans, learning resources, critical documents required for work: these all needed to be properly backed up. I decided to take the opportunity to sort through my filesystem as I backed up, remorselessly destroying unnecessary data as I went. It's equivalent to having a spring clean and burning anything you rarely use which is taking up too much space in your living room.

I decided the best way to store the backed up data would be to copy it all onto one of my four hard disks, and then physically remove that disk from my system before commencing the installation. After setting the system up, the back-up disk could be reconnected, added to the file system, and the backed up data placed in sensible locations as necessary.

Once my system's datastores had been cleaned up and the data stowed safely away, it would be time to finally begin the installation process.