LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1858|回复: 13

超越ghost,用tar调整系统实验

[复制链接]
发表于 2005-6-4 04:07:33 | 显示全部楼层 |阅读模式
超越ghost,用tar调整系统实验

先说说我这么做原因和事先规划思路。
       原因:我想实验一下使用双内核起动linux。但我在安装linux时,图省事,只分了一个/分区和swap分区。要是重新分区,然后重新安装linux吧,嫌费事。在参考了N篇   文章后,决定用tar把现有的linux备份,重新分区后,再恢复。
       思路:准备把现有的/分区重新分成四个分区。
我原有的分区如下:
hda1     win98
hda5      winxp
hda6      win软件
hda7      win游戏
hda8      wn下载目录
hda9      /目录
hda10     swap分区

只准备调整hda9分区,把它变成两个100m的/boot分区,一个3G的/分区,剩余的是/home分区。
调整后要是这个样子:
hda1     win98
hda5      winxp
hda6      win软件
hda7      win游戏
hda8      win下载目录
hda9       100m /boot  安2.6.8内核
hda10      100m /boot  安2.6.11内核
hda11       3G  /           
hda12       2.7G /home
hda13      swap


准备工作:
1,先搜索有关tar的文章。仔细研读。
2,grub for dos  救急用。

实施过程:   

1,备份原系统:我的debian的/目录中有,
/bin,/boot,/cdrom,/dev,/etc,/home,/initrd,/lib,/lost+found,/media,/mnt,/opt,/proc,/root,/sbin,/srv,/sys,/tmp,/usr,/var目录。
很多帖子介绍,其中的/cdrom,/dev,/sys,/tmp,/proc目录不需备份。我的/home目录里也没什么数据,我就也不备份了。但/lost+found,/media,/srv目录是空的,为以防万一,也备份吧。
/mnt目录由于链接了win分区,要备份的话,也会把win分区的数据备份了,所以就不备份了。

    2,文章里提到的可以有选择的备份/目录中部分目录的命令,tar -cf /dev/st0 $(ls / | grep -v -e proc -e mnt),我没成功。就老老实实的一个一个目录备份。
命令如下:
tar -cf /home/gkp/usrbak.tar /usr   把/usr目录里的所有目录和文件备份成/home/gkp/目录里的。usrbak.tar文件。
一个一个把所需要的目录备份完后,把这些.tar文件拷贝至一个win分区。(我放在了hda8,就是wing

   3,有以往的经验,我对debian的分区工具很不放心,就用PQ分成我上面所说的样子。

   4,本来可以在mandrake10中用tar把备份的内容恢复的。但是想到,如果我的机子里有一天只有debian时,那如何办?于是,就采取了另一种法子-------重装debian基本系统。

    5,重装debian基本系统轻车熟路。只是把内核安在hda9中。不挂载hda10,留着装2.6.11内核。把所有的设置都和原来系统保持一致。(我把grub安在了hda9

   6,重启后,用grub for dos进入debian。系统自运行base-config。我只设了root密码和普通用户,(当然也和原系统一致了)。然后就结束了base-config

   7,以root身份进入。先在/mnt里建winc,wing等目录。
mount /dev/hda8 /mnt/wing命令挂载wing分区。

   8,cd进入/目录。/boot我不需恢复了,因为原来系统和现在的一样,况且我也省得修改gurb的menu.lst文件了。先把/etc/fstab文件拷贝到/mnt吧。(原系统的和现在的可不同噢。)同时拷贝的还有root目录。

   9,首先是在/目录中,使用以下命令恢复:
tar -xpf /mnt/wing/usrbak.tar    把备份的/usr目录恢复到了现在的/目录中了。
一个一个恢复吧。
其中的/etc和/ lost+found恢复不成,提示现在有这两个目录,就不给你恢复。我用rm把此两目录删了后,就解决了。^_^

   10,最重要的,把你刚才拷贝到/mntfstab文件再重新拷贝至/etc吧。(不然,怎么挂载swap和/home)。同时拷贝的还有root目录。接着,运行grub,重新安装grub。

    11,重启后,一切搞定。这时,再修改/etc/fstab,添加上win分区。


至于我留着的hda10,过几天再安2.6.11内核吧。
发表于 2005-6-4 08:37:11 | 显示全部楼层
楼主小心,tar是不认识ACL和SELinux的扩展属性的,我吃过苦头的,所以应当用star比较好
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-4 10:24:34 | 显示全部楼层
Post by seedpig
楼主小心,tar是不认识ACL和SELinux的扩展属性的,我吃过苦头的,所以应当用star比较好

请兄弟解释一下。
不过我现在一切正常啊? :ask
回复 支持 反对

使用道具 举报

发表于 2005-6-4 11:00:07 | 显示全部楼层
linux下的posix ACL和selinux 使用了文件系统扩展属性,而tar不认识这些属性,举例来说:如果你使用RHEL4并且启用了selinux (bash# setenforce 1),你可以尝试用 bash# (cd /etc;tar -cvf -)|(cd /var/www/html;tar -xvf -) 这样的方法将etc目录复制进 httpd 的主页目录,你会发现这些文件无法通过WEB访问,因为安全上下文不允许httpd访问这些文件,你可以用ls -Z看到这些文件安全上下文的区别
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-4 11:03:10 | 显示全部楼层
多谢。
但像/etc之类的如何做哪?
回复 支持 反对

使用道具 举报

发表于 2005-6-4 14:17:53 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2005-6-5 11:47:26 | 显示全部楼层
好文,谢谢了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-5 12:31:05 | 显示全部楼层
Post by linux_now
好文,谢谢了

兄台是给我的鼓励吗?
还是给seedpig的?

听seedpig一席话,至今心中还忐忑不安。
回复 支持 反对

使用道具 举报

发表于 2005-6-5 18:12:30 | 显示全部楼层
任何探索都值得鼓励,对于备份系统的事情只要记住一点,就是绝对不要备份正在运行的系统。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-5 21:07:58 | 显示全部楼层
Post by 7dehao
任何探索都值得鼓励,对于备份系统的事情只要记住一点,就是绝对不要备份正在运行的系统。

抄在本上了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表