Answers:
是的,你可以在某种程度上
这是假定你有同样/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虚拟主机)但是应该对包和桌面相关的设置进行平方。
您可以将整个文件系统从一个分区复制到另一个分区。使用的组合,例如dd
和nc
。
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
。
如上所述复制文件系统后,您可以
resize2fs
如果新分区较大,请调整文件系统大小。chroot
安装到其中以安装引导加载程序。您可能需要在实时系统内部mount --bind
添加其他文件/dev
系统。我已经通过几种不同的硬件配置迁移了我的文件系统,包括几个硬盘。从32位到64位的转换更具挑战性,但是使用Gentoo我甚至无需从头开始重新安装我的系统。