获得新笔记本电脑后,如何迁移开发环境?


4

每当我拿到一台新的笔记本电脑时,我都要经历sudo apt-get install xxx 我已经习惯的所有东西的痛苦,即我要再次重建整个环境。考虑到我在两台笔记本电脑上使用Ubuntu,有没有一种从一台笔记本电脑迁移到另一台笔记本电脑的无忧无虑的方式?(除了一直在使用虚拟机之外?我还尝试使用Vmware进行物理操作,但实际上并不顺畅)


+1也一直想知道这一点; 我目前所做的是在文件中重新安装后将我在命令行中输入的所有内容放入,并在新安装时再次运行该文件。效果很好。
斯泰恩

Answers:


5

是的,你可以在某种程度上

这是假定你有同样/etc/apt/sources.list/etc/apt/sources.list.d/文件,前者是定期存储库,而后者正是Ubuntu的增加购电协议来。将其从源系统复制到目标系统,然后运行apt-get / aptitude / ubuntu软件中心的更新命令 - 有关详细信息,请参阅AU上的此答案

我已经调整了从ubuntugeek转发包列表的说明。您可以将源系统中的包列表转储到名为installedpackages的文本文件中。

sudo dpkg --get-selections | grep '[[:space:]]install$='| awk '{print $1}' > installedpackages

并将安装包复制到目标系统,然后在安装包cat installedpackages | xargs sudo aptitude install所在的位置重新安装

复制/ etc /对于主要配置文件也是一个好主意。

当然,请复制/home/username以获取您的工作环境的副本,例如您的主文件夹和桌面。

从ubuntugeek.com获取的包列表转储和重新安装

这应该涵盖ubuntu的“桌面”安装上的大量文件。可能会有一些特定的事情会错过(想到apache虚拟主机)但是应该对包和桌面相关的设置进行平方。


谢谢@Journeyman Geek ......这看起来像我最想做的事情。我会回家试一试!
Tathagata

如果您是PHP / MySQL开发人员,则不要忘记/ var / www和/ var / lib / mysql。我曾经做过一次......之后我只是将mysql和www的默认位置更改为/ home / www和/ home / mysql - 我/ home位于一个单独的分区上,当我重新安装系统或更换计算机时它保持不变。
DonatasOlsevičius2012年

啊,是的 这就是问题的一部分我猜,我不知道他是什么样的开发者; p。DB其他环境文件也需要移动。
Journeyman Geek

2

您可以将整个文件系统从一个分区复制到另一个分区。使用的组合,例如ddnc

root@old# dd if=/dev/sda1 bs=4M | nc -l -p 4444
root@new# nc old 4444 | dd of=/dev/sda1 bs=4M

这假设您在新系统上运行实时系统,例如从安装CD运行。并且您拥有旧系统的主机名或IP地址,因此您可以通过TCP连接到它。sda1假设是linux文件系统的分区; 如果您使用不同的分区或多个分区,请根据需要进行调整。如果您可以将两个驱动器连接到同一台计算机,则可以dd不使用nc

如上所述复制文件系统后,您可以

  1. resize2fs如果新分区较大,请调整文件系统大小。
  2. 将文件系统挂载到某处并chroot安装到其中以安装引导加载程序。您可能需要在实时系统内部mount --bind添加其他文件/dev系统。
  3. 再次在chroot内部,调整已安装的驱动程序集以匹配新硬件。

我已经通过几种不同的硬件配置迁移了我的文件系统,包括几个硬盘。从32位到64位的转换更具挑战性,但是使用Gentoo我甚至无需从头开始重新安装我的系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.