扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作为一个从Windows过渡而来的Linux新手,我们最担心也是经常发生的事情就是,我们改乱了设置,在自己解决无效的情况下,无奈的重装系统。而更加无奈的是,Linux系统的重装过程十分漫长而艰苦。所以,我们自然而然的想到了系统的备份与恢复。
在Windows下有很多优秀的系统备份与恢复软件,功能十分完备,而在Linux下则要费一番牛劲。Windows下首屈一指的备份软件Ghost2003具有备份Linux EXT2文件系统的能力,可是,最近4年以来安装的Linux系统大多是基于EXT3文件系统的,我使用Ghost2003进行了尝试,即使用EXT2格式备份实际上是EXT3格式的文件系统。备份过程比较缓慢,但多少还是完成了,可是到了恢复的时候就出了问题。在Ghost2003中,Linux分区(包括多种格式)都是灰色的,无法选中,所以也根本无法进行恢复。
于是我上网查阅了n多网页,结果是推荐使用磁带备份工具tar。这也是一个在各个Linux系统中都含有的归档工具,有如vi一样无处不在。有这等好事岂能不用,下面我们来看看tar的使用方法。
1,备份,为了简化说明,我们只提供了系统备份与恢复相关的tar使用方法,具体请查阅manual。此命令与参数用来备份当前文件夹中的所有文件到a.tgz中,备份过程包括子文件夹,备份文件有压缩。
tar czvf a.tgz *
2,恢复,把a.tgz中的文件恢复到当前文件夹,遇到同名文件直接覆盖。
tar xzvf a.tgz
3,查看a.tgz文件中的压缩文件列表。
tar tzvf a.tgz
这里所用的扩展名.tgz在Linux系统下不是必须的,但是为了容易识别和适应Windows用户,还是保留的好。这个扩展名是原来.tar.gz扩展名的缩写,意义是,使用tar进行归档后使用Gzip压缩。
这样就够了么?还没有,同Windows一样,Linux在运行时,很多文件都是打开状态的,所以根本没有办法备份和恢复,所以你需要制作一张启动盘。在启动盘下操作,进行备份和恢复。当然,Fedora Core 2直接为我们准备了系统故障修复盘,无需自制。
另外就是选择需要备份的目录和文件,此部分与RH Linux Fedora Core 2相关。在/下执行ls -a可以看到根目录系统下的所有文件夹和文件。如下:
. .. bin boot dev
etc home initrd lib lost+found
misc mnt opt proc root
sbin selinux sys tmp usr
var .automount .autofsck
.fonts.cache-1
其中.automount是一个隐藏文件夹,内容为空。.autofsck和.fonts.cache-1是隐藏文件。备份时,有一些文件夹需要排除,因为其中的数据实在是没有用的,或者会引起访问错误或者递归存取。这些文件夹包括如下:
/mnt,这个文件夹下面是挂载的其他分区,一般我们备份的时候也是备份到此其中的分区,所以,如果包括会引起递归存取,使你的备份文件突然增大一倍上下。
/proc,这个文件夹是保存着运行时的进程相关信息,没有保存的必要,而且占用200MB以上的空间。
/usr,这个就要看你的个人爱好了。一些专业的安装中,这个文件夹是放在一个专门的只读分区中,占用空间巨大,而且长期运行中并不修改。所以,我个人认为也就不必备份了。况且,在我的安装方式中约85%的空间都要被他占去了。如果不备份这个文件夹,我的备份文件就由3.4GB减少到300MB上下,看了这个数据,我想你自己就有主意是否要备份了。
另外再除去一些空文件夹,我的实际备份列表如下:
bin boot dev etc home
lib root sbin var .fonts.cache-1
现在你就可以按照这个列表中的文件夹依次进入,并压缩生成各个.tgz文件,把这些.tgz文件保存起来即可。恢复时也是将这些文件依次复制到各个文件夹,然后解压覆盖源文件即可。
如果你实在不喜欢这种依次备份/恢复的方式,也可以使用如下命令备份系统。生成的备份文件为all.tgz。注意,要在/目录下执行
tar czvf all.tgz /bin/* /boot/* /dev/* /etc/* /home/* /lib/* /root/* /sbin/* /var/* .fonts.cache-1
嘿嘿,鱼与熊掌不可兼得,如果愿意你就要输入这么令人作呕的命令行。当然,恢复的时候就要简单得多了。
tar xzvf all.tgz
当然也是在/文件夹下面了。对于空文件夹,一般不需要理会即可。
我的问题么,包括如下:
1,initrd文件夹里面是什么东东啊,为什么在系统运行时有内容,而在另一个Linux系统下访问时,却是空文件夹?
2,tmp是一个临时文件夹,我没有把它包括在我的备份列表中,不知这样会不会有问题?
3,sys文件夹是干什么用的,我即便是在另一个Linux系统下访问,也无法备份其中的文件。
4,我在备份root文件夹时发现,其中有很多.开头的文件或文件夹,这些都是隐藏的。我备份了以后也无法在备份文件中找到这些文件,请问如何把他们也加入到备份文件中。这些文件中包括小企鹅输入法fcitx的配置文件夹.fcitx。
第一次安装Linux是在一年前的RH Linux 8,而真正开始认真学才是最近一个月的时间。因为有点编程功底,理解的比较快,自己也成功的解决过几个问题。而这个系统的备份与恢复问题是一直没有解决的,探索中的一些发现也就写在了上面。问题么,自己总有依赖别人的惰性,所以哪位高手知道了希望不吝赐教。多谢多谢,多谢多谢。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者