This is going to be an all-geek article, so those of you who don’t use Linux
can just skip it. I’ll be more entertaining next week.
A few days a go this
guy wrote a neat bit about how to install WinXP in href="http://diveintomark.org/archives/2003/08/04/xp">five hours or
less. I thought that was about right, but I knew that I had a
Linux reinstall coming due, so I thought I’d take my own notes on the
process. The end result, if you don’t want to read all the way through,
is that it takes about four hours on a very slow machine, but that it
doesn’t really care much what options you do or don’t pick, ’cause it
apparently knows better.
So, here’s the story:
I’m due for a reinstall, because things aren’t working the way I
want them to, and uninstalling things in RedHat has been a bit of a
Here’s the spec:
The Hardware: An old Transmonde laptop, PII/266, 512K L2 cache, 128Mb
RAM. Well-supported trackpad, C&T 65555 2MB video card driving a
1024×768 LCD. Four gig hard drive. No problem; It’s run Linux before,
and it will again. Basically, I’m looking for a system that gives me a
decent network experience, useful terminal-window functionality, MP3s,
gcc, vim, make and not a hell of a lot else, and does those things at
something better than a snail’s pace. Linux, as is its wont, promises me
all these things, as well as clean teeth, the fragrant smell of fresh-cut
flowers, low total cost of ownership and, I’m told, the moon.
So, booting from RedHat 9 CD#1,
- Boots up to text mode. Upgrade or install Linux in graphical
mode, that sounds about like what I’m going to be doing. Enter.
- I speak english good. My keyboard is a standard U.S. english
- My mouse does not have three buttons. Sure, I’ll emulate that last
one, whatever that means. I hope that’s OK.
- Let the installer remove all the partitions on the system. Go
ahead. Yes, 98 Meg for /boot, 3556 for root and the last 256 for swap
seems fine. Take the machine’s word for it.
- Wait a few minutes while it formats everything.
- Set the security level to medium and allow incoming SSH, because
I don’t want a repeat of the X-out-of-disk-space
disaster from a few weeks ago.
- Set my time zone.
- Set my root password.
- Enable MD5 and shadow passwords.
- Choose some packages. This part is going to be straighforward, but I
know from previous experience that it absolutely has to be done right,
because RedHat’s “Add/Remove Applications” GUI tools (and, in fact,
RPM underneath them) are a digital atrocity, the State Machine of Lum
the Mad. I don’t know anyone who even pretends they’re functional;
getting them to actually add/remove stuff is just as simple, easy and
fun as wiping your ass with a pit bull. Here goes.
Choosing packages, I do the following:
- Turn off Gnome and
anything that has anything to do with Gnome. I’m keeping href="http://jirka.org/gdm.html">gdm, ’cause it looks pretty and
that’s nice, but Gnome has all the lean, graceful efficiency of Jabba
the Hutt. It’s painfully, onerously slow. I’m going to get something
useful later, but for now I choose KDE.
- Under X Window System, I ditch XDM, Switchdesk (figuring that I won’t
need to switch desktops on the fly) and anything that says “print”,
“gnome” or “gtk” in it. Lose xisdnload, too. Ponder briefly over who
in the world might actually use ISDN.
- Ponder why clicking anywhere in the name of a thing toggles the
associated checkbox, as opposed to the way it works everywhere else in
the universe, where you have to click the actual checkbox.
- Uncheck “GNOME”. Under KDE, keep autorun and kkdeadmin. Lose the
rest. Under Editors, get Vim and Vim-X11. Silently blame the Emacs
people for screwing up the keyboard shorcuts in terminal windows for
the rest of us.
- No Engineering and Scientific stuff. We can get that later. Likewise
“Graphical Internet”. I get Konqueror for free with KDE, and I’ll
get Mozilla soon enough, a much more recent version than appears on
these CDs. Get Lynx, though, in case of emergency. Get rid of all
the rest of the stuff in Text-Based Internet, because this isn’t the
freaking bronze age anymore. We might go back for SLRN later.
- Uncheck “Authoring and publishing”. If I haven’t had to know
what DocBook is yet I don’t need to know now. I’ll get it if and when
I need it. Which is to say, later. Likewise “Graphics” – don’t need,
so for now don’t want.
- For the love of God, ditch Open Office. This instantly cuts half
a gigabyte out of my install-space requirement, and there’s nothing
quite as satisfying as waiting five minutes for a “productivity tool”
to get running. Take the xpdf viewer and GhostView and walk.
- Pick your poison as far as sound support goes, I’m not going to
be burning anything here so I’ll stick with cdda2wav, cdp, cdparanoia
and XMMS. I’ll have to get mpg-123 later. I make a note.
- Take “kdegames” for some dumb little amusements out of “Games and
Entertainment”, and deselect the rest. They’re all to beefy for this
little video card anyway. OpenGL? What’s that?
- Accidentally uncheck “Servers Configuration Tools”, and then go
back and reset the whole thing, because Red Hat doesn’t remember your
settings. Nice work, guys. Nice. So, deselect redhat-config-bind,
-httpd, -nfs, -printer, -printer-gui, -samba, -mail, -mail-gnome,
-printer and -printer-gnome.
- No Mail server, no Web server, no Windows fileserver, no name
server. I want to be able, I say again, to SSH into this machine in
a crisis, and that’s all. No News server, no SQL server. Go into the
“Network Servers” bit at the very end and deselect them all. Keep DHCP,
in case somebody wants to do some crossover cable networking. Make a
note to be sure it’s turned off by default.
- Pick your poison again, as far as development packages go. I’m making
sure to pick up the kernel packages, and a few other things. Avoid GNOME,
as usual, and I feel confident saying that I won’t need to compile any
ADA95 or Fortran anytime soon. Out of the System tools, I’m keeping
ethereal and nmap.
- We’ll come back to this later, but I’d like to reiterate that I
have deselected the “Printing Support” options.
- Turn off Gnome and
- Install. Wait an hour, occasionally pop in another CD.
- No, I don’t want to make a boot disk. Yes, I’ll reboot.
- Using my inner voice, express serious doubt and consternation
about the fact it didn’t ask me about things like a hostname or X
- This gets to be the fun part. Gaze in wonder at the startup
messages. Cups, Sendmail and a bunch of their friends all start up
[ OK ]. Things that I specifically told the selection
process that I didn’t want.
- Close my eyes, so I can feel my pulse pushing my temples apart.
- Log in to a very grainy-looking GDM. Mentally prepare myself to fix
the X display settings, but before I get there, I see the panel at the
bottom of the screen. It contains:
- A Red Hat icon.
- A Mozilla icon that doesn’t work.
- A printer icon that does.
Fuck you, RedHat. Fuck you very much. I have enough computer problems
in my life without having to wrestle with an installer that lies to
me. Especially when it won’t let me actually undo any of the damage
- Correctly set the X display settings, restart the server and log in again.
- Go into the service configuration utility to see what’s running. Hey,
look, everything that I specifically asked not be installed is right
there, running right now. Nice. Somehow, I’m flashing back to the old
IIS/CodeRed debacle. Shut down cups, isdn, netfs, nfs, nfslock, portmap,
rawdevices, rhnsd, sendmail and uncheck them all. Wonder what Lisa,
described as “Lisa is a small daemon which is intended to run on”, does.
Nothing quite like having to do the same job twice.
- On a lark, go into “add/remove software” and check out the situation.
The situation there is grim. The print utilities are now thoroughly
selected, despite my previous uncheck-that-box-related efforts, and it
is impossible to deselect them. Uninstalling anything at all through
this UI is absolutely impossible. I feel something akin to homesickness
when I think about how well Debian’s apt-get treated me in the distant
past. Well, once the services have been turned off I guess that’ll
do. The drive space is a writeoff, I suppose.
I hate you guys. Configuring peripherals, my ass.
- Go home, get dinner.
- Use the GUI to set up my USB Ethernet adapter. The GUI works for that,
mercifully. Set the machine name to “Protagonist” while I’m in there.
- Ifup eth0 at a console, login to KDE and fire up Konqueror. Futz
around looking for right-click/save-as, give up, try dragging
and dropping in a second window which seems to work. Use this
to get Firebird 0.6.1,
rxvt and href="http://evilwm.sourceforge.net/">evilwm.
- That seems to work. gunzip, untar, Configure, make, make
install. Move xterm to xterm-old and replace it with a symlink to
rxvt so that EvilWM opens rxvt instead. We’ll get to that in a minute,
but that seems to work.
- Compile and install linux-wlan-ng-0.2.0. Brace self for lots more
manual-reading, because now that I’ve rebooted cardmgr doesn’t seem to
- Scratch head.
- Install Evilwm, and set up gdm to respect its authoratah. I’ve
done this before: it’s trivial, but non-obvious. Under
/usr/share/apps/switchdesk/ copy one of the XClients files to
XClients.evilwm and change the line that says “exec whatever” to
- You know, that “switchdesk” that I deliberately deselected earlier.
I’d like to reiterate that I haven’t seen any warning messages or
other notifications about switchdesk being necessary to anything.
- Futz around with .Xresources files to get rxvt to look right.
- Get that right, finally, and go to sleep. Except hey, the machine
doesn’t power down all the way now – it just gets to the last line and
then tells me to push the switch myself. Sweet.
That’s where I am now. I’m not done banging my head against the
wireless stuff, but this brings my machine to a point that I’d consider
usable. I’m going to install some GDM themes, because I like some
pretty pictures every now and then, but aside from that my machine is
now sufficiently fast-moving and well-featured to my taste. I’ll have
more links in here this afternoon, but for now this is pretty much the
size of it. I’m still pretty pissed off that all that printing-related
stuff crept in there, but I guess there’s some kind of dependency
somewhere that requires it, or else it just thinks it knows better than
Update: When will then be soon? Now.
I’ve added some links to the above and polished it a little, but
that’s about it. I’ve got mpg-123
working, ACPI still doesn’t work properly anymore, and I’ll
be damned if I can figure out what I did to bone it. Getting wireless
working is, I’m sure, going to be it’s own private nightmare that
I’m not going to spend a lot of time on right now. Suffice to say
that cardmgr hasn’t worked right since the first time I rebooted, so
I’m probably going to have to do something scripty and gross to get
it glued back together. Elapsed time, from one end to another, about
three hours including compile time, though not dinner.
On the upside, there’s no registration problems, no screwing
around with turning dumb blinky stuff in the UI off. On the
downside, it’s hard to express how infuriating it is to tell
an installer that you don’t want some service whose name href="http://www.google.ca/search?q=sendmail+security+hole">you’ve heard
before only to find it running in the background after the first
reboot anyway, without so much as a note explaining that this service is
somehow necessary or important. I suspect I dodged a bullet by skipping
the KDE configuration completely in favor of EvilWM, but EvilWM will
still take some tweaking – control-alt-plus, a useful window-resizing
key, is dangerously close on my keyboard to control-alt-backspace, which
pulls the ripcord on my X sessions without asking me if I maybe meant
something other than “close all five terminals, both browser windows,
set yourself on fire and fling yourself off the nearest parapet”,
a well-understood default behaviour for X.
So in short, as compared to the aforementioned
install experience, Mark had to spend a lot more time fighting with
the Microsoft registration, driver wizards, downloads and interface
tweaks, but on the other hand at the end of the process he actually got
what he had asked for. I think I’m going to have to figure out how to
get in on this Red
Carpet action that Shaver
says he’s a big fan of. Because, when it gets right down to it, a program
that lies to you and silently decides to install crap you’ve explicitly
told it not to install is pretty fucking insulting, and there’s no way
I’m putting up with that bullshit again.