Tuesday, February 22, 2011

Opensuse 11.3: Software upgrades should always be this easy

Now that I've been running opensuse 11.3 at home for some months now (link from Dec'10), I've been thinking about installing it at work. After some recent frustrations with the printer (I've had issues printing from both thunderbird and firefox on opensuse 10.2) I started thinking more seriously about it, and when it became interesting to try installing shapado at the office... well, let's just say I looked at the prerequisites and decided to pull the trigger. Oh, the other thing is that 11.4 is due out next month, so it's about time to install 11.3 on the office desktop.

Why opensuse? It's a matter of personal preference, really, but here are a few of my thoughts.

  • I'm accustomed to SuSE Linux, having run 5.3, 6.0, 7.0, 8.0, 9.1, 9.3 and then opensuse 10.2; it has packages I've become familiar with (can you say "asclock"? "fvwm2"?)
  • I seem to remember being pleasantly surprised once that SuSE's build of ksh had some capabilities enabled that weren't turned on by default in Red Hat. To get those features in RH I had to rebuild ksh from source. This wasn't hard, but since I've occasion to upgrade over the years (and maybe I saw it coming) I just decided to go with a distro that I wouldn't have to tweak as much.
  • During the sco wars (see http://groklaw.net) I read that Novell (the purveyor of SuSE Linux in the 9.3 days) had been instrumental in bringing down the bad guys. Upon reading this, I sent off for their latest boxed set (SuSE Linux 9.3 Professional), paying whatever they were asking.
I'd had some bad experiences with Linux upgrades on some old Dell boxen, but the recent IBM lease-return I have at home seems to be sufficiently recent to play well with 11.3, so I was optimistic. Also, I loaded up an old NetVista box at the office with 11.3, and it worked fine -- hence my not-quite-as-old primary desktop (a thinkcentre I believe) would probably work.

Before even thinking about it

The previous Linux install on the old IBM (I think this is a pre-Lenovo box) had /home in a separate partition. This is where my home directory was. The thought was to be able to upgrade the system SW without touching my personal data. A bunch of other stuff is on NetApp filers, accessed via NFS, so no worries there. If you have a chance to put your home directory in a separate partition from the system partition -- better, if you have enough space to carve out multiple areas where you can install various system versions -- you're all set for playing with multiple distros. But for me, it was enough to have one system partition and one for my personal stuff.

I had some quirky stuff which is less so now: Privoxy, which I don't believe was on the opensuse 10.2 install media; tkremind; dovecot. Some of these were installed under /usr/local. Also I think some configuration might have been kinda special -- automounter and this sort of thing. So I copied or moved all of /usr/local/src under $HOME; also I copied the /etc/ tree to a place under $HOME for future reference.

Now I wanted to remain productive during the transition (yeah, I know, too much multitasking makes you stupid. But I figured that since I already hit bottom I'm likely immune) so I turned off fetchmail on the primary desktop, rsync'd the maildir from the desktop to my temporary workstation, then ran "fetchmail -d 60" on the temporary.

Now I could insert the DVD and reboot my primary desktop. I hit <ENTER> to interrupt normal boot, and chose to boot from CD-ROM drive. I selected "Install" from the boot menu, agreed to "no warranty", and selected my timezone (hwclock set to UTC).

KDE is the default desktop (they don't have an fvwm2 option) so I chose KDE, and then told the installer to leave /home alone (mount it as /home in the new world) and to go ahead and format the system partition, /. Before clicking the "go do it" button, I clicked the box to enable sshd and open a hole in the firewall.

Then I went back to work, using the slower and louder temporary workstation. After a while, the installation was pretty much done.

First happy surprise: it saw that /home/collin existed and figured out my uid from the files there -- it didn't blindly assign me 501 or 1000 or something, so I didn't have to go back and change it. Kudos to the OpenSUSE team for this nice touch!

I had to add a group, though, with a number less than 100. This is supposed to be reserved or something, but to be compatible with the assignments on the Linux/Unix boxen in the compute farm, I tried to create a group with gid=30. The installer wouldn't let me do it, so I created a group with a different id; later I'd become root and "vi /etc/group".

I tweaked the LAN card configuration for static IP, and had to enter the netmask and default gateway in by hand. I'm willing to put up with that in order to have a static IP address. Anyway, I made the mistake of enabling NIS before trying to configure the mail stuff. When we got to the part about which local users to masquerade, it tried to download all the userids that NIS knew about -- this is over 10,000. I went to the terminal that kicked off yast2 and said ^C... turned off ypbind and then went through the mail config -- much better. The key part was selecting delivery to be through procmail.

With yp turned on, the automounter could work -- I just put the saved versions of /etc/auto.* back in place and "/etc/init.d autofs start" and yes, that was it! A few more adjustments were needed, like opening privoxy up for remote connections, letting dovecot use plaintext authentication (only from localhost though), this sort of thing.

But overall, a piece of cake.

No comments: