问题描述
如果我想备份我的整个操作系统(包括但不仅仅是我的主目录),我该如何解决这个问题呢?
它是否像在/
中备份所有内容一样简单,然后当我遇到崩溃时,只需将文件复制回来?这会覆盖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映像中排除用户数据。
这通常用于创建自定义分发,但对于您考虑的备份任务仍然有用。需要注意的是,如果/
(减去/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的好教程。