My One True Way

Recently I’ve had to reinstall OSX Panther on my PowerMac because of a weird issue with certain pictures (including some toolbar, dock, and menu icons) were being rendered in Grimace purple and toxic pee green. It wasn’t a ground breaking issue, but it was annoying and gave me an excuse to start from scratch and reimplement My One True Way, which had fallen out of harmony. My One True Way is simply my method of setting up my system in a way that makes sense to me. This encompasses directory structure, dock/menu usage, symlink creation, script writing, desktop background, desktop allocation, program installation, and program configuration. For the most part, M1TW is virtually identical across platforms except for a few differences in the programs installed. This post describes the approach that I’ve taken with OSX recently while deviations for other platforms are highlighted when appropriate.

Step 0 - OS Installation
For any system conforming to M1TW, all hard-drives are first repartitioned and each individually formatted and checked for bad blocks. Using the OSX Panther disk (as well as Linux and Windows) this is a trivial matter. However, I adhere to a strict partitioning scheme for most of my systems, although the details for each differ.

OSX (Panther at the moment)
    1. Partition 0 - OSX System files and home directory.
    2.  <li><span style="font-size:100%;">Partition 1 - <a href="http://www.apple.com/itunes/">iTunes</a> library

    3. Partition 2 - CVSROOT
    4. Partition 3 - Vault
    5. </ol> </ol> <div style="text-align: left;"><span style="font-family: courier new;font-family:courier new;font-size:100%;"  >    Linux (</span><span style="font-size:100%;"><a style="font-family: courier new;" href="http://www.debian.org/">Debian</a></span><span style="font-family: courier new;font-family:courier new;font-size:100%;"  > at the moment - Vanilla install)</span><span style="font-size:100%;">

        1. /dev/sda1 - /boot | 2MB
        2.  <li><span style="font-size:100%;">/dev/sda2 - /

        3. /dev/sda3 - /swap
        4.  <li><span style="font-size:100%;">/dev/sda4 - Extended</span></li>     <li><span style="font-size:100%;">/dev/sda5 - /home</span></li>     <li><span style="font-size:100%;">/dev/sda6 - /usr</span></li>     <li><span style="font-size:100%;">/dev/sda7 - /usr/local</span></li>     <li><span style="font-size:100%;">/dev/sda8 - /var</span></li>     <li><span style="font-size:100%;">/dev/sda9 - /tmp</span></li>     <li><span style="font-size:100%;">/dev/sdb1 - /cvs</span></li>     <li><span style="font-size:100%;">/dev/sdb2 - /vault</span></li>   </ol> </ol><span style="font-family: courier new;font-family:courier new;font-size:100%;"  >      Windows (XP Pro at the moment)</span><span style="font-size:100%;">

            1. Partition 0 - Windows
            2.  <li><span style="font-size:100%;">Partition 1 - Mike</span></li>     <li><span style="font-size:100%;">Partition 2 - Yuki</span></li>     <li><span style="font-size:100%;">Partition 3 - Vault</span></li>   </ol> </ol><span style="font-family: courier new;font-family:courier new;font-size:100%;"  > The partition scheme above are fairly self-explanatory, however a few exceptions need to be explained. First, for all of my systems I like to keep a Vault partition. The vault is a repository for essential programs, configuration files, and backups. I usually keep a copy of the latest versions of my essential programs (listed below), any periodic backups, mirrored copies of all important configuration files (XF86Config, .vimrc, .bashrc, .profile, nethack.sav, etc...), and a mirror of the CVS repository. This partition is ALWAYS stored on a separate disk from the main OS and is occassionally burned to a disk. The Mike and Yuki volumes are our own sandboxes for to play in.</span><span style="font-size:100%;">


              Once the partitions have been created, formatted, and checked for bad blocks, then the real fun begins. I always install from media even though most Linux systems allow for network installations – I like the tactility of CD-ROMS.

              Step 1 - Booting Up for the First Time
              Once the OSes have been installed, it is now time to boot up for the first time and install the critical software, or as I like to call it, Ring 0 software. Ring 0 software is generally comprised of the following:

              ALL
                1. Bash
                2.  <li><a href="http://gcc.gnu.org/"><span style="font-size:100%;">GCC</span></a></li>     <li><a href="http://www.perl.org"><span style="font-size:100%;">Perl</span></a></li>     <li><a href="http://www.python.org"><span style="font-size:100%;">Python</span></a></li>     <li><a href="http://www.openssh.com/"><span style="font-size:100%;">SSH</span></a></li>     <li><a href="http://www.apache.org"><span style="font-size:100%;">Apache httpd</span></a></li>     <li><a href="http://www.php.org"><span style="font-size:100%;">PHP</span></a></li>     <li><span style="font-size:100%;"><a href="http://www.mysql.com/">MySQL</a></span></li><li><span style="font-size:100%;"><a href="https://www.cvshome.org/">CVS</a>

              OSX
                1. Software Updates