[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

how to transfer APT packages between different devices?



summary: My old laptop is up-to-date on LMDE (Linux Mint Debian
Edition), with many add-on APT packages. I'm now qualifying a new
laptop, from a different vendor, on which I have installed LMDE from
live USB. How best/easiest to transfer the packages from the first
laptop to the second, without causing (e.g.) driver problems? (And
please lemme know soonest, since I have much acceptance testing to do
but can't return for refund after 2 Dec 2011.)

details:

I have a 2-year-old laptop (call it "laptop_0") from one vendor. It
has served me well, but the battery is shot, the HD makes ominous
intermittent clicking noises, it's no longer SOTA, and in any case I
could use a backup laptop. This week my university put some quite
high-powered laptops on clearance for a good price, so I'm evaluating
one (call it "laptop_1"). I can return it by Friday (2 Dec) for full
refund.

I regularly backup my packages on laptop_0 using a script that

* copies /etc/apt/sources.list to a designated backup directory
* copies /etc/apt/sources.list.d/ to the backup directory
* redirects `dpkg --get-selections` to a file in the backup directory

I have in the past restored my packages from laptop_0 to laptop_0
(e.g., after ubuntu upgrades) with a script that reverses the above
process:

* restores /etc/apt/sources.list from the backup directory
* restores /etc/apt/sources.list.d/ from the backup directory
* redirects the backed-up package list to `dpkg --set-selections`
* apt-get install -y dselect
* dselect update
* apt-get dselect-upgrade
* aptitude update

I installed 64bit LMDE 201109 Gnome

http://www.linuxmint.com/download_lmde.php

from live USB (using unetbootin) on laptop_1 without difficulty. laptop_1 has some problems with LMDE, e.g.,

- it hangs if I try to suspend with a USB drive attached (but it sleeps/restores normally otherwise

- hibernation fails, i.e., instead of restoring it just reboots (but so does laptop_0)

Other than that :-) it seems worth the price, but I've done relatively
little testing (e.g., power management, DVD and stream playing). To do
more a more substantial comparison I need to get roughly the same
packages installed on both boxes. (Particularly I want to benchmark
building and running a scientific model I help develop.) Unfortunately
there are important differences between the two (though both are 64bit
Intel with NVIDIA). I noticed this the hard way when I attempted to
"restore" (using the second procedure above) the packages from
laptop_0 onto laptop_1: laptop_1 booted, but then put up a crippled
GINA (the graphical login screen) into which I could not type (the
keyboard was not working, though the mouse was). Fortunately I just
rebooted and reinstalled LMDE (which took all of 10 minutes--one
suspects Windows will never install that quickly :-) and laptop_1 is
again functional.

So obviously my current package-restore procedure only works to
restore onto on the same device from which the packages were backed
up. I'm wondering, how best to do package-transfer? E.g., can I script
a procedure that is smart enough to not transfer inappropriate
packages (e.g., those causing driver conflicts)? Alternatively, I need
to know (more-or-less) or determine what not to transfer, so I can
edit my package list by hand (before running the package-restore
script), or otherwise human-run the process (hopefully with some tool
automation).

Or is it time for Something Completely Different? What do you believe
is the best way to transfer packages between non-identical devices?
Please lemme know soonest--I can't return laptop_1 for full refund
after 2 Dec 2011.

TIA, Tom Roche <Tom_Roche@pobox.com>


Reply to: