如果我要迁移到不同的硬件,如何复制我的 Linux 环境?

cur*_*ous 10 linux installation

我目前在 Kubuntu 上设置了 Eclipse、MySQL、Python、Firefox 等的包、模块、设置等。我还根据我的需要对 Kubuntu 进行了优化配置。我想在另一台具有不同处理器的机器上复制我的环境(目前在 Intel Q9450 上,新处理器是 i7)。据我了解,我的应用程序是为与我的特定处理器一起使用而编译的,因此制作直接分区副本是不可能的。

有没有办法将我的环境复制到另一台机器上,而无需重新安装和重新配置所有内容?

Pet*_*aut 7

您可以在不做任何更改的情况下获取您的主目录。进入主目录的几乎所有内容都设计为可通过 NFS 之类的内容共享,因此您很好。

此外,保存您的包选择

sudo dpkg --get-selections '*' >file.txt
Run Code Online (Sandbox Code Playgroud)

并在另一台机器上恢复它

sudo dpkg --set-selections <file.txt
Run Code Online (Sandbox Code Playgroud)

同样,保存您的 debconf 设置

sudo debconf-get-selections >file2.txt
Run Code Online (Sandbox Code Playgroud)

并恢复

sudo debconf-set-selections <file2.txt
Run Code Online (Sandbox Code Playgroud)

对于/etcdebconf 不管理的其余配置,很难跟踪手动更改的内容,除非您使用了诸如etckeeper 之类的东西(也许是未来的想法)。出于这个原因,我倾向于将大部分配置保存在我的主目录中。但既然您知道自己对哪些程序感兴趣,那么在其中查找相关文件/etc并手动检查和复制它们应该很容易。


sle*_*ske 3

据我了解,我的应用程序是为与我的特定处理器一起使用而编译的,因此不可能进行直接分区复制。

是什么让您得出这个结论?至少对于 x86,Kubuntu 安装的软件包经过编译可以在几乎所有非史前 CPU 上运行。我相信它们可以在比 486 更新的任何设备上运行,这对于您的情况可能不会造成问题:-)。

因此,直接分区副本应该可以正常工作:

  • cp -a复制分区(或者如果您的分区布局发生更改,则使用 复制文件)
  • 使 /etc/fstab 适应新的分区布局
  • 为新分区重新配置引导加载程序,并重新安装引导加载程序
  • 启动并享受

仅在以下情况下才会出现问题:

  • 自编译的软件包,但即使在那里,大多数默认情况下也会为所有现代 CPU 进行编译,除非您使用编译器选项
  • 设备驱动程序

大多数现代内核都会在启动时自动检测硬件,因此通常驱动程序也应该没问题,但如果出现故障,您通常可以在单用户模式下启动并修复任何驱动程序问题。