Hacker's Diary

A rough account of what I did with Emacs recently.

August 30
Full backup of restored DSPsrv. Discovered interesting ways to break rsync.

And now upgrading packages. After some pussyfooting around with piecemeal upgrades, I decided to just pull a full upgrade and watch what breaks.

So that worked well enough, modulo some crashy grub-pc behaviour which I had to find a fix for; next thing I want to do is install some server health stuff - Dell's much-vaunted Open Source support seems to be a bit thin at this point, plus this is a fairly old server, so it's possible there isn't anything available for it, but on the other hand it'd be nice to be able to access system event logs and temperature probes and what not. Not critical, obviously, so if I can't figure it out in the short term I'll skip on it. Just that it's not the sort of thing I want to try installing remotely, as that sort of stuff has a tendency to halt the server hard and require physical intervention when you get it wrong.

August 29
Rewatched Minority Report. Fun piece of bubblegum. Kinda want to read some P. K. Dick stories now, though.

August 27
Bootloader updated. Had to fiddle with it more than I recall from past times working on such things; one part "I've forgotten this stuff" and one part "this is different under Debian than it is under Red Hat" and probably one part "new and improved versions". In any case. Next thing to do: server goes online in my own LAN and I start applying updates while I have the opportunity of doing so with a server I can manually recover when I inevitably screw up something like the kernel... actually, the immediately next thing is probably do a fresh backup.

August 26
Another round of file restores tonight; I think I've finally figured out all the brokenness.

Yup, permissions look to be fixed. Next thing to do: fix the bootloader.

August 23
Good to see that TomTom are feature-compatible with Garmin in terms of the Crappy Update Experience. Currently watching TomTom HOME attempting to "Download Europe", and the counter - which doesn't indicate if it's in minutes:seconds or hours:minutes - is happily counting the wrong way. Also it's already timed out on the download once, which required me to exit all the way out of the update and go back in again, becaue a Retry button would be Just Too Much Effort.

And then it crashed. And would not recover until I killed off a "helper" process, and deleted some files, and restarted the main application. AWESOME STUFF.

Currently running another file restore on DSPsrv to see if I've got the permissions right yet.

August 17
Turns out Linux gets pretty upset if you don't have /dev, /proc, /sys and /run when it expects them...

August 16
Managed to louse up the restored server while playing permissions roulette. Once again, this is why BACKUPS and DON'T MUCK WITH THE BACKUPS, MUCK WITH THE RESTORED THING.

August 15
Crap Joke department: the script to fix the broken User/Group IDs on the DSPsrv backups is called ... id-fixe.sh.

August 14
So, er, Dark Star, eh? This was what launched John Carpenter's career? It's, er. A bit crap, I think, is about the most charitable I could offer. Even taking into account that the effects are low-budget pre-ILM, you'd at least hope for a decent story, but sadly, no. It's more like a loosely-connected series of vignettes acted out by a bunch of interchangeable bearded characters and a beachball with feet. Probably best to avoid if you can.

August 13
After a bit of headscratching I came up with a script that does a reasonable job of unscrewing the permissions, so I'll give that a go probably at the weekend. I think my current plan of attack is to get the server back to functioning under its own steam (which includes making sure I can restore it to a functioning state when I inevitably break something), then see about hooking it up to the LAN properly so I can apply updates as necessary, then I've a bunch of security-related things I want to do, then I declare it good to go and ship it back to its proper home.

And then you can all log in and tell me about the email you've lost. Sorry, but I did say the backups stopped about a week before the server keeled over.

August 9
Restoring file permissions on the DSPsrv is tricker than I imagined, and includes trying to install a new virtual server with the same set of packages as the DSPsrv has on board. Which is complicated by a number of factors, one of which appears to be that the package lists on the server are a bit out of date and not responding very well to my attempts to update them, and the version of Linux installed on the server isn't exactly a set thing.

This would not actually have been a problem if this was an RPM-based distro, since RPM helpfully includes file attributes in its verification; DEB, it appears, does not - or maybe people just feel it's more fun to jump through a series of unnecessary hoops in order to recover the permissions, maybe as a lesson to you that you should take more care not to trash them. Grr.

Well, that was truly awesome. An afternoon of beating things up and building a VM and fiddling with sources.list and all sorts of faffing about, and the net result was a script to "restore" permissions, but which really managed to wipe out enough critical permissions to render the restored system ununsable. GO TEAM!

(This is why you don't experiment on your backups...)

August 7
For handwavy reasons, I've used a recent version of Outlook Web Access, and boy howdy is it unpleasant. The thing that drives me to complain about it here, though, is the sorting: for a start, I don't much like "newest on top" in this particular context, so that means I'm already annoyed with the default view. However, what really grates is that even with "oldest on top" sorting, "conversations" ("threads", people. It's a perfectly good word that's been in use for far longer than Microsoft acknowledged the existence of the Internet.) are still sorted "newest on top" - so reading messages sequentially is essentially reading them in quasi-random date order.AWESOME.

DSPsrv activites have been suspended for the week, will get back on it at the weekend. Restoring the files revealed that my backups had trashed some permissions along the way, so I need to deal with that.

August 3
Recovering DSPsrv, day 3.

More fun with the restoration of files; as /var was nearing capacity I realised that there'd been a 50-50 split between /var and /home on the original as all the user mailboxes lived in the former. There then followed several attempts to repartition again, each time with the kernel ignoring the partition table I'd just updated in favour of the one it "remembered".

(The two hardest problems in Computer Science: naming things, cache invalidation, and off-by-one errors.)

Eventually I wound up unmounting all the partitions, unloading the kernel driver, reloading it, and rewhacking the errant partitions with the mkfs stick.

After that, it was just a matter of waiting for the data to restore, followed by some brute force reconstruction of the bootloader. As of 21:00ish, the server is now bootable from its own drive, meaning I can start sanity-checking it for return to the server farm.

August 2
Recovering DSPsrv, day 2.

Managed to get things set up in a slightly less lavish environment - a 15" display rather than a 55" - and started on investigating the backups. First problem I encounted was that it's been so long since I've done manual disk manipulation with a Linux box that I had to consult a manual to (re)learn the operation of parted, which I quickly gave up in favour of cfdisk. Then I realised that I couldn't just lump everything into a single partition because I needed to add swap space, which brought me to investigating the backups I've been doing to see how the disk was laid out.

Good news: full list of partitions.

Bad news: the only one for which I can determine a size is the swap partition, i.e. the one I care about least. It's possible that the partition sizes are logged somewhere in the backup, but I was damned if I was going to trawl through the whole thing on the off chance I could find them. du -s to size the partitions as they were in the backup followed by some entertaining partition math mostly left me scratching my head, so eventually I took a bunch of random advice from the Internet and ran with that.

Somewhere in the middle of all this I restored my iPhone as it had gotten into that state where it claims you have nothing on your iPhone except "Other", and it has nowhere to put all this music &c. Result: my Asphalt 8 profile got partially nuked. Specifically, my 900k+ in-game credits and ~70 cars all vanished in a puff of smoke (there's over a year's worth of accumulated playing there, I think). Bizarrely, some things remained: the in-game tokens, a handful of cars which had been won rather than purchased, my entire collection of unused power-up cards, and, apparently, all my best times as it keeps telling me I've beaten them when I run through a previously-raced track with the benefit if a year's experience. Le sigh. This has already happened to a couple of people I know, and it's pretty annoying. Then again, since I've been playing without paying - buying cars through constant grinding on high-value tracks - I guess I can hardly be too whiny about it... currently flipping through every other app to see what else, if anything, got lost.

Initial DSPsrv data restoration failed due to my partition sizes being incorrect, so I had to repartition and try again.

August 1
Cocktails and Swingers. They all look so YOUNG. And THIN.

previous month | current month | next month

Galloping towards 2016