当前位置: 首页>>技术教程>>正文


如何备份我的整个系统?

,

问题描述

如果我想备份我的整个操作系统(包括但不仅仅是我的主目录),我该如何解决这个问题呢?

它是否像在/中备份所有内容一样简单,然后当我遇到崩溃时,只需将文件复制回来?这会覆盖grub吗?当系统无法运行时,我该如何实际执行此操作?

最佳解决方案

FILES

请参阅此howto:http://ubuntuforums.org/showthread.php?t=35087

简单来说,备份命令是:sudo tar czf /backup.tar.gz --exclude=/backup.tar.gz--exclude=/dev --exclude=/mnt --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/lost+found /。如果需要,可以添加更多--exclude=参数。

它将在/backup.tar.gz中创建所有文件的存档,然后您可以将其复制到另一台计算机/驱动器,并在安装进入pear-shaped时还原文件。您可以通过在/media/mnt下安装”bad”系统并运行tar xf /path/to/drive/with/backup.tar.gz -C /mnt(替代”bad”系统的实际路径),从LiveCD执行此操作。

GRUB

这不会涵盖GRUB,但您可以通过遵循此guide here轻松重新安装它。你只需要做第三步和第四步。

次佳解决方案

没有人注意到clonezilla。它可以为您的硬盘提供完整的图像,因此它可以完全备份所有内容。它就像刻录iso或创建可启动闪存驱动器一样简单。

实际备份需要一段时间,但最可靠。

第三种解决方案

您可以使用Remastersys创建可引导的实时CD /DVD映像。这将像普通的Ubuntu CD一样安装。

要安装Remastersys,首先需要添加一个存储库:

deb http://www.geekconnection.org/remastersys/repository karmic/

然后,您可以照常从软件中心安装它。

安装后,使用它来制作’dist’备份。这意味着将从ISO映像中排除用户数据。

backup,ubuntu

这通常用于创建自定义分发,但对于您考虑的备份任务仍然有用。需要注意的是,如果/(减去/home中的用户数据)的内容占用太多内存,可能会失败,因为ISO文件格式只能容纳~4GB数据。 Remastersys使用一个名为squashfs的文件系统来压缩您的数据,因此您最多可以使用~8GB。

第四种方案

将系统克隆到另一个系统。或者做一个备份。在终端类型:

dpkg --get-selections | grep -v deinstall > ubuntu-files

此命令生成系统中所有已安装软件包的文件列表(并将其存储在当前工作目录中)。在hdd,email等中备份此文件…(此文件非常小)。

在新安装的ubuntu系统中运行:

sudo dpkg --set-selections <./ubuntu-files (will set it up and)

apt-get -y update
apt-get dselect-upgrade

这将仅安装您在旧系统中安装的软件包(使用apt-get)。

                                    (OR)

您可以从/var/cache/apt/archives/备份所有.deb软件包并使用以下方法手动安装它们:

dpkg -i *.deb

之后再运行更新周期。

第五种方案

试试Remastersys。使用该程序,您可以执行系统的liveCD(与Ubuntu安装iso文件相同),并能够将其安装在硬盘上。工作非常简单(如果您知道如何将ISO刻录到USB /CD /DVD)。适用于我的11.10和11.04,以及较旧的。

安装:编辑文件/etc/apt/sources.list添加:# Remastersys deb http://www.geekconnection.org/remastersys/repository karmic/并保存然后在终端中运行:sudo apt-get update sudo apt-get install remastersys

第六种方案

这是我与SquashFS一起使用的解决方案。它与之前提出的TAR.GZ解决方案非常相似,但具有一些主要优点。

SquashFS是一个压缩文件系统,完全存储在一个文件中。此文件可以安装到现有系统,并以通常的方式访问,就像任何其他分区一样。与TAR.GZ的区别在于SquashFS是一个随机访问文件的full-blown文件系统,而TAR只是一个大的连接文件。

这意味着如果你想安装整个文件系统的一些大型备份,对于TAR.GZ,则需要5个小时(根据我的经验),对于SquashFS,它只需要几分钟/秒。对于压缩/备份操作也是如此,SquashFS要快很多倍。

更新2017-01-31:看来你不仅可以挂载squashfs文件,还可以打开它作为常用的存档,使用熟悉的应用程序,如Linux上的File Roller和Windows上的7-Zip等。

所以这是我用来备份我的根文件夹的命令:

sudo mksquashfs / /path/to/backup/hdd/root-backup.sqsh -e home media dev run mnt proc sys tmp

其中”-e”开关排除了您要排除的文件夹(如我的示例中的虚拟和外部Linux文件夹)。

备份完成后,我现在可以挂载它:

sudo mkdir /mnt/root_backup
sudo mount /path/to/backup/hdd/root-backup.sqsh /mnt/root_backup -t squashfs -o loop

现在只需等待几分钟(取决于存档的大小)并享受/mnt /root_backup文件夹中的所有文件。

对于/home /myname文件夹也可以这样做,例如

sudo mksquashfs /home/myname /path/to/backup/hdd/home-backup.sqsh -e Dropbox GoogleDrive

我在这里排除了Dropbox和GoogleDrive以避免将来出现任何潜在问题,以防我从备份中恢复这些文件夹,并且它们会变得混乱云中的实际文件。

查看http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html的更多信息

第七种方案

我们也可以使用rsync& amp;来备份系统。排除文件和我们不想要的文件夹。以下命令执行此操作:

#rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder

使用-aAX选项集,文件以归档模式传输,确保保留符号链接,设备,权限和所有权,修改时间,ACL和扩展属性

--exclude选项将导致排除与给定模式匹配的文件。

参考:Full system backup with rsync

第八种方案

这是一个使用PartImage的好教程。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1196.html,未经允许,请勿转载。