Christopher Allan Webber

[Userops] Why is it hard to move from one machine to another? An analysis.

Christopher Allan Webber at

Claes Wallin (韋嘉誠), X11R5, Olivier Mehani, j1mc and 3 others likes this.

Claes Wallin (韋嘉誠), Claes Wallin (韋嘉誠), Olivier Mehani, Olivier Mehani shared this.

@cwebber@identi.ca I wonder how far we could get if you could export and import the debconf configuration for specific packages. Bonus points if the input could be trivially pushed into the Debian installer pre-seeding feature. Then there's the new attempts to share server state like etcd.

Diane Trout at 2015-04-08T18:48:34Z

@cwebber@identi.ca Thanks for posting that BTW. It covered a lot of stuff I have been mulling, and quite succinctly. I'm dreading the day I'll have to migrate my server. Moving the data is fairly easy as I don't have any complicated LAMPish type stuff. But getting all the moving parts in the right place on a new server without missing any will be "fun".

My server started out as a basic asterisk box but over the years it grew.. oh email would be nice, add postfix/dovecot.. . Oh, webpage would be nice, add lighttpd, blaze-blogger, maekdown... Oh, media sharing on the lan would be nice, add minidlna... anyways you get the idea. Now after close to a decade there are many bit all tweaked just the way I like them and as you pointed out so well nothing that can magically package up those bits+configs+data+system tweaks (like cron jobs for automatic rolling backups of the mail). And definitely no easy way to move all this in an environment agnostic way.

Seriously, the easiest thing to do would be to clone the drive to the new machine (which has it's own limitations). I strongly agree that some sort of server aware/environment aware package manager is necessary.. something I can tell, "I have postfix,dovecot,etc running" and it would detect the system environment, know where to grab data,configs, etc. Roll it all up with a list of the server packages needed, and safe that some place safe. Then on the new machine/system it would import the data, install the necessary bits move configs and data to the correct places for the system in question.

Even that wouldn't get a lot of the system tweaks I've done but it would save a lot of work. The problem is I can't think of a way to do such without it turning into a huge cluge of edge cases and complicated inter-system fudging. (Same package different names based on system, lets not even talk about start-up differences, package doesn't exist so what is an alternative and how do we convert the configs/data..) I think what is needed is an elegant way to do all this but I can't see that happening until everyone agrees on how it should be done. And as nice as that world would be it doesn't help with my wonderful but very unique server.

Freemor at 2015-04-09T17:50:27Z

Christopher Allan Webber likes this.