红联Linux门户
Linux帮助

Fedora 系统备份的一些发现和问题

发布时间:2007-07-25 20:55:14来源:红联作者:MicsDembly
  作为一个从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 直接为我们准备了系统故障修复盘,无需自制。

  另外就是选择需要备份的目录和文件,此部分与RH Linux Fedora 相关。在/下执行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,而真正开始认真学才是最近一个月的时间。因为有点编程功底,理解的比较快,自己也成功的解决过几个问题。而这个系统的备份与恢复问题是一直没有解决的,探索中的一些发现也就写在了上面。
文章评论

共有 1 条评论

  1. hobo2008 于 2008-07-04 16:16:45发表:

    0:w(5(