我ubuntu
用来处理日常工作。现在,我购买了一台新笔记本电脑,并且想要将整个系统(程序,程序包,数据,设置等)迁移到新计算机上。
我知道我可以将主文件夹复制到新计算机上,并且我将(几乎)获得所有数据和设置。但是,有没有复制整个系统的安全方法?还是一个坏主意?
我ubuntu
用来处理日常工作。现在,我购买了一台新笔记本电脑,并且想要将整个系统(程序,程序包,数据,设置等)迁移到新计算机上。
我知道我可以将主文件夹复制到新计算机上,并且我将(几乎)获得所有数据和设置。但是,有没有复制整个系统的安全方法?还是一个坏主意?
Answers:
先决条件:
两台计算机上均安装了相同版本的Ubuntu。体系结构(32/64位)可以不同。
步骤1:存储已安装软件包的列表
在源计算机上运行以下命令,将已安装的软件包名称存储在〜/ pkglist中:
sudo dpkg --get-selections | sed "s/.*deinstall//" | sed "s/install$//g" > ~/pkglist
第2步:传输您的配置
使用scp或rsync甚至是闪存驱动器来传输您的主目录(〜/ ,〜/。),源列表(/etc/apt/sources.list)以及您自定义或安装的任何其他文件(例如/下的apache config)等或/ opt上的软件)从源计算机到目标计算机。
步骤3:安装套件
在目标计算机上的故障安全终端会话中运行以下命令以安装软件包:
sudo aptitude update && cat pkglist | xargs sudo aptitude install -y
摘自:
http://eggsonbread.com/2010/01/28/move-ubuntu-to-another-computer-in-3-simple-steps/
首先,如何列出所有已安装的软件包,这个问题涵盖了导出(然后安装)确切的软件包集。
如您所述,大多数配置都在/ home中。
话虽这么说,每次我这样做都是从头开始。我将安装ubuntu并手动添加我知道使用的软件包,一次配置一个。在旧计算机上安装的软件包列表是查找不同部件的一个很好的起点。一旦或多或少地设置了内容,然后我将仅从旧计算机上复制数据文件(但不复制配置文件)。这确实需要花费更多时间,但是值得切换到最新版本。(我的旧台式机运行10.04,我的新台式机当前运行11.10,尽管我计划在已经存在一个月的时间将其更新为12.04,以消除任何剩余的粗糙边缘)。但是,如果您可以使用几乎没有什么工作比以前有所不同。如果你需要 事情要完全一样,继续执行以上操作。
大多数配置和个人文件都位于中/home
。例如,默认情况下,我的GNOME主题,shell设置,Chromium历史记录/书签/等,vimrc,bash_profile和大多数设置都很好地保留了下来。
重要的是保留权限和时间戳。请参见在不丢失文件/文件夹权限的情况下复制文件。rsync的-a
标志对此非常理想。对于大文件传输,建议使用Rsync。用于--partial-dir
能够重新启动进度。我还排除.gvfs
(不是真实文件)和.cache
。
如果只是在同一硬盘驱动器上重新安装系统,还可以考虑在单独的分区上安装/ home。拥有单独的主分区有什么利弊?
有几种实用程序可以直接复制文件系统,有些实用程序(例如Norton Ghost)可以调整分区以适应新磁盘。这样的软件不仅可以使您从磁盘复制到磁盘,而且还可以为您自己保留单独的压缩备份。
也有dd
执行此操作的工具,但是需要更多的知识和研究才能产生您想要的结果。