This evening I sat down and migrated my personal virtual machine from a 32-bit installation of Debian GNU/Linux to a 64-bit installation.
I've been meaning to make this change for a good few months, but it took me until this evening until I decided it was as good a time as any.
Mostly the process is painless:
- Ensure you have a 64-bit kernel, with support for 32-bit binaries too.
- Install the 32-bit compatibility libraries, such that your old binaries work.
- Overwrite your binaries and libraries in-place so you have a 64-bit base system.
- Patch it up afterwards.
I overwrote a lot of the libraries and binaries on the system such that I had a working 64-bit apt-get, dpkg, sash, etc, and associated libraries. Then once I had that I could use those tools to pull the resto of the system up to date.
One thing I hadn't counted on is that I needed to have a 64-bit version of bzip such that "apt-get update" didn't complain about errors. I suspect I could have fixed that by re-configuring my system to disable compression. Still it was easily solved.
Along the way I also shot myself in the foot by having a local caching DNS resolver, listening on 127.0.0.1, which broke. With no DNS I couldn't use apt-get - but once the problem was identified it was trivial to fix.
Anyway all seems OK now. My websites are up, email is flowing and I guess anything else can wait until the morning.
ObQuote: "Somebody's coming up. Somebody serious." - Leon