October 13, 2011

Pludging

The term "pludging" is Ars Technica forum's memetic term for applying MacOS updates, a particularly misspelled forum post title that stuck. There's always the comedic hyperbolic posts about doom and destruction following the installation of some innocuous point-update, but in reality it mostly goes smoothly, except for the inevitable reboot that resets the precious uptime.

MacOS X 10.7 Lion was a bit more exciting in that it was immediately available for download over the Mac App Store, anywhere in the world. No need to wait for shiny silver discs to be localized and pressed and delivered to our little island backwater. Waited a couple days for the initial rush to subside, then grabbed it during US late-night hours, to insure the download went smoothly. After that it was just click-and-go like good Apple software should. Of course I had two backups of my precious data before running the upgrade, one by TimeMachine and one via SuperDuper, plus I'd also just finished uploading my photo library onto the Crashplan cloud. Thankfully the Lion install all went well enough. So much so that I became emboldened to install Lion on the wife and sis-in-law's Macs soon after, with only one backup, even! My Aperture workflow seemed to chug a bit under the new OS, but I fixed that with a $50 memory upgrade, which I'd been meaning to get anyway.

But really MacOS is the least of Apple's worries nowadays. It's iOS that's the rising star, if not the main focus, of the company. While MacOS provided a solid foundation, the iOS team has been busy building new APIs, service, and even a new retail paradigm for the software ecosystem. I don't mind Apple's centralized control too much (don't really care about shell access on a phone, for god's sake), but it sure does make for a major pain in the bottleneck when everyone jumps on the latest iOS release all at the same time. So it took a few Error 3200 messages before the iOS upgrade finally took. Upgraded the wife's iPhone, too, figuring she might like the improved camera app and iMessage functions. But in my haste to get it done before leaving for work I caught stupid and forgot to back up her phone's photos first, wiping out a bunch of her recent baby pictures in the process. No software upgrade will make up for that, unfortunately.

Meanwhile, quietly in its virtually-sandboxed little corner of my HTPC, runs the toy Linux "server" that acts as an external SSH gateway and provides Linux-y services to the internal network. That's been running on Debian Lenny for a while, but Lenny was already due for replacement when I originally installed it, and it's long been superseded by Debian Squeeze. The wife and kids were at her mother's house for the weekend, and I figured what better thing to do with my precious free time than to upgrade a Linux distribution? Fired up a terminal to edit the repository sources and to run aptitude via the command line, which is no big deal, for Linux work. Took a deep breath and fired off aptitude dist-upgrade and walked away for a cup of coffee while it churned through the hundreds of Squeeze packages to be downloaded and replaced in the new major version.

Finished installing all the packages and let it reboot to... nothing but a login prompt. No GDM or any signs of a GUI. Good thing about being a late-adopter is that us Murphys have sussed out everything that can go wrong during the process and wrote about it on the Internet for Google to index. Some voodoo combination of editing init.d, reinstalling the Virtualbox graphic drivers, and dpkg-reconfigure of X.org managed to bring the GUI back to life. Then I noticed that it didn't have any network connectivity. It saw the Ethernet hardware but Network Manager wouldn't configure it. dmesg output seems to find some problem with udev? A zillion edit-reboot-connect cycles later (thankfully not too painful to do in a virtualized environment) I still couldn't get the supposedly advanced network auto-configuration system to work. This was meant to be a hard-wired server image anyway. So I patched up virtual-duct-tape style by hard-coding the network connection into the /etc/network/interfaces file.

So my little server was back on the Net but it wasn't doing anything. Turned out that I needed to update all my Python packages, too, to support the new Debian version. Then I had to upgrade Python itself to support the features used in some of the updated packages, because even the version in the latest Debian stable release isn't all that new. Then some more permissions and paths tuning to get my jury-rigged scripts working again. Finally re-enabled some Apache modules and finally I was... back to the exact same place I was before the "upgrade." If nothing else, I've learned that if a server works, don't start messing with it. Especially when one has two kids who are more precious than uptime, even.

Posted by mikewang on 05:31 PM