Monday, May 07, 2007

Hal's Turn for Feisty

(Not that long ago, I poked a bit of fun at Windows, counting all the steps necessary to restore a Windows XP system. Then I turn around and post this. However, note that you have a working system, including a complete office suite, just at the point below where you see the line across the page. Everything beyond that is what I consider essential to a computer system. Your mileage may vary. Taxes, tags, and ammunition extra. Offer not valid it Redmond, Washington.)

Having installed Ubuntu's brand new Feisty Fawn (aka 7.04) Release on Hal's Evil Twin and Hal's Other Twin, it's time to work on Hal.

Since my last install, of Dapper Drake (6.04), I've added a honkin' big disk drive which now holds my /home directory. As a result, the 60 GB boot drive has a lot of space on it that can profitably be used for things other than data storage.

Before we begin, of course, back up everything. Then I pulled the plug from my big /home drive so I wouldn't accidentally overwrite anything on it.

Next it's time to repartition the drive. Geeks repartition drives the way some people rearrange furniture: it's always a good time to do it, especially if you have someone else move everything. My someone else is the extremely useful GParted, a graphical interface for partitioning disks. After much thinking about things, I'm doing the breaking the disk up like this (note that Feisty now pretends that everything is a SCSI disk, even when it's not, so what was /dev/hda is now /dev/hdb):

Partition Mount Point Type Size Description
/dev/sda1 / ext3 15 GB Mount point for Feisty
/dev/sda2 /home ext3 15 GB For now, the user's home directories, which will eventually be moved to the other disk. In the future, this will be where I install another OS, say the next version of Ubuntu, or Slackware, or even that thing Microsoft sells. For now, it will hold a /scratch directory.
/dev/sda3 swap Linux-swap 1 GB Swap space, on the general rule that you should have twice as much swap as you have memory. This is actually at the bottom of the disk drive, but it's sda3 because I installed it before I installed:
/dev/sda4 Extended Extended Partition, which holds:
/dev/sda5 /usr/local ext3 10 GB OK, most people won't need this much space, but I tend to put a lot of programs into /usr/local, and I don't like running out of space.
/dev/sda6 /opt ext3 Approx. 12 GB Some third party programs, such as the Intel Fortran compiler, use this space. Having it in a separate partition means I won't have to install multiple copies for multiple distributions, and I can always create a /opt/scratch directory.

Commit to all of this, eject the GParted live CD, and put in the Ubuntu Live CD. And away we go:

  • As I mentioned before, when you do what Ubuntu calls a “Manual Partition” of the drive, it rescans the disk drive every time you click the mouse, which is more than a trifle annoying.
  • Somewhat scary: the first time I rebooted after the install, I got a blank screen. It seems to be OK now, though. Interestingly, when Hal's Other Twin boots up, I get a nice not-all-brown Ubuntu Logo on the screen, along with a log of what's happening. When Hal and Hal's Evil Twin boot up, I get a blank screen until the login screen magically pops up. Probably there is a setting to fix this, I'll try to find it later.
  • Run update manager. Looks like the default installation has 15 updates since the release date which was, what, two weeks ago? Of course, many of those aren't security related.

  • Now install a bunch of things that the default install leaves out. This, of course, is the problem with installing from a live CD, in that you don't get much choice. However, the synaptic interface is pretty easy to use, so let's go ahead with it. Forgive me if I don't link to the home page for all of this software. Also forgive me if I occasionally mistype. I have a cat on my lap.
    Useful references include:
    The Unofficial Ubuntu 7.04 (Feisty Fawn) Starter Guide
    Ubuntu Tips and Tricks from Linux Magazine (registration required, consider

    In more or less alphabetical order:
    • a2ps: Nicely formats many-page-to-one output.
    • Abiword: Word processor, starts up faster than
    • amarok, mplayer, vlc, xine, xmms: Listen and Watch Stuff.
    • apt-file: Enhance the capabilities of the Debian file system. Run
      $ sudo apt-file update
      once you install it.
    • build-essential: Installs things you might need to compile programs: e.g., g++
    • Celestia: Interstellar astronomy.
    • checkinstall: Converts the “make install” command into a .deb file.
    • EMACS: The One True Editor.
    • Frozen Bubble: I have no idea why I like this game.
    • fvwm (Gnome version): My favorite window manager.
    • g77: Not as powerful as the Intel Fortran compiler, but it's open source, and adheres to the standard. And if you ask why I'm still using Fortran 77, it's just because, OK?
    • gnumeric & sc: Spreadsheet programs. Often more useful than the one in
    • gnuplot: Not only does it plot, it does non-linear curve fitting (non-linear regression to you statistics types).
    • grip: Rip stuff.
    • gv & xpdf: Viewing postscript and PDF. Old, but serviceable.
    • IEs4Linux: Not a Ubuntu package. This uses WINE (see below) to run Internet Explorer on your Linux box. Well, IE 5 or IE 6, not IE 7, because you'll never pass the Microsoft Genuine Advantage test. But it does show you how your web page looks to those with really bad browsers.
    • Imagemagick: Image manipulation.
    • k3b: Burn CDs and DVDs.
    • kdegames: Occasionally I waste time at the computer.
    • lavaps: '70's funk method for looking at the activity on your computer. I put it in the FVWM ButtonBar.
    • libgnome-dev: Provides some library header files needed to compile older programs not included in Ubuntu, e.g., Electric Eyes.
    • lynx: Text-based web browser, originally developed at KU.
    • mailutils & msmtp: mostly to enable me to send mail from the command line.
    • Mozilla-Thunderbird: My favorite mail client.
    • PlanetPenguin Racer: The old Tux Racer, done up in open source.
    • RealPlayer: This used to be available in Canonical's “Commercial” repository, but it's not yet available for Feisty. So go to the Helix Community download site, download HelixPlayer or RealPlayer, depending on your level of purity, and install. I put mine copy in /home/local/RealPlayer. Then you must link the mozilla plugins to firefox and mozilla:
      $ sudo -i
      # cd /usr/lib/firefox/plugins
      # ln -s /home/local/RealPlayer/mozilla/* .
      # cd /usr/lib/mozilla/plugins
      # ln -s /home/local/RealPlayer/mozilla/* .

      and then remember to add the rtsp protocol to Firefox.
    • sox: Convert sound files from one type to another. This version, like the one in Dapper, doesn't have full mp3 support, so I'll have to compile it myself, later.
    • spider: The best two-deck solitaire game — ever.
    • sysv-rc-conf: Curses-based program that lets you control which programs start at a given runlevel. Useful to stop the computer from checking for Bluetooth devices when you know that there are none.
    • tcl and tk: For simple widgets.
    • tcsh: My favorite shell.
    • tetex, revtex: TeX and LaTeX, for document production
    • tidy & ftnchek Syntax checkers for HTML and Fortran files, respectively.
    • wine: Just in case I want to try running a Windows program. Some version of IE might be nice, to check out web pages.
    • xnetload: Graphical rendition of network activity. Another FVWM ButtonBar import.
    • xpaint: Old, but quite useful, paint program.
    • xscreensaver: More fun than your average screensaver.
    • Check out the Unofficial Ubuntu 7.04 (Feisty Fawn) Starter Guide for more fun things you can add.
    • I've probably forgotten a bunch of stuff, when I remember them I'll add them to this list.
  • Create accounts for other users on the machine.
  • Turn off the computer, plug in the big disk drive, reboot.
  • Edit fstab to mount the new disk drive as /home. Note that since Ubuntu pretends that the drives are SCSI, so new drive is /dev/sdb, rather than /dev/hdd.
  • Reboot (or unmount/mount) and check everything over.
  • As root, change the ownership of each account in the new /home directory so that it belongs to the appropriate user, e.g.
    # chown -R dave:dave /home/dave
  • Done. Well, more or less. I could go on forever, of course, because I true Geek's computer is never exactly right. I'll add to the list as I think of things.


rcjhawk said...

As I was reminded in another comment, gnuplot needs a little tweaking to produce animated gifs and to enable filename completion from the command line. So I'm downloading the current source code and recompiling.