用tar打包转移系统

其他Linux/Unix/BSD/OSX等发行版讨论
头像
32idea
帖子: 1251
注册时间: 2006-12-15 9:32
系统: linux

用tar打包转移系统

#1

帖子 32idea » 2009-04-19 13:55

用tar打包转移系统

其实很简单,高手请绕行。

我的电脑有两块硬盘,一块装了xp给家人用,另一块装了ubuntu(8.10升9.04)和arch(只用了一个区,swap共用)给自己用。有一天心血来潮把arch分区的格式改成了ext4,结果用ubuntu的grub无法启动arch,只能用grub4dos来启动arch。查了一下原因,应该是arch所在分区处于硬盘最后部分,启动时超出查找范围。一开始这个区被分为sdb8,安arch的时候就无法正常启动,当时把它的分区从逻辑分区改成了主分区(成为了sdb3),然后就可以正常启动了,这次改了格式又出现了这个问题,而且即便是用arch自己的grub也无法启动,令人稍有不快。同时由于当初为ubuntu的boot也分了区,在硬盘起始位置。现在很想把硬盘分区从新规划一下。刚好ubuntu-9.04rc出来了,就想付诸行动。

初步打算重新分区后,把ubuntu重装,因为它比较好配置,只需要把home下的用户家目录备份一下就行了;比较麻烦的是arch,本来配置的好好的,不想再折腾一下,而且有时候网络不稳定,重装arch有时候是很费时间的事。怎么办?用cpio、dd还是tar?

用cpio太占地方,而且由于分区还没分好,不能直接拷贝;用dd只能源文件分区比目标分区大,而我从新规划的分区大小都比arch目前的分区小那么一点点。看来tar是个不错的选择,用它把arch系统打包然后暂存在另一块硬盘上,等sdb硬盘从新分好区后,再解压到新选择的分区,修改menu.lst和fstab中的相关信息,就可以用grub或者grub4dos来引导启动了。这种方法在节省空间的同时,还不依赖于文件系统格式,你可以选用新的文件系统格式,比如ext4。当然,这需要另一个linux系统,你可以用livecd的linux来操作,我是直接用ubuntu-9.04rc的iso镜像刻录入u盘,制作了一个u盘启动的livecd来操作的。你要有自己刻录的光盘版的livecd也可以啊。

下面进入正题。其实只是注意事项的提醒而已。以下操作都是在livecd系统启动电脑下进行的。

1、tar打包,解压时会自动按打包时的路径还原,即便是加-C指定路径,依然会在该路径下建立打包时的路径还原。
如果在本系统进行打包及还原,一般不会产生问题。比如 tar -zcvpf bird.tar.gz /home/bird 你在别的linux系统下还原时,它依旧解压为/home/bird,如果你加-C指定路径,比如 tar -zxvpf bird.tar.gz -C /mnt 结果就是 /mnt/home/bird。(这是介绍tar打包特性,不是具体操作)。

2、如果准备在一个系统打包而在别的系统进行还原的话,有时候就会有麻烦,即便是指定路径。还原时多出路径怎么办?
比如备份sdb3的arch系统,怎么办比较好呢,先把sdb3挂载到/media/arch,

代码: 全选

sudo mount /dev/sdb3 /media/arch
然后 cd /media/arch,然后用相对路径打包

代码: 全选

cd /media/arch

代码: 全选

sudo tar -zcvpf (保存路径)arch.tar.gz ./ 

用这个办法打包,解压时,要么cd到需要解压的目录,然后sudo tar -zxvpf (保存路径)arch.tar.gz进行解压,要么用-C指定路径,都可以。比如

代码: 全选

sudo tar -zxvpf (所在路径)arch.tar.gz -C /media/arch/
这样貌似麻烦,但比较灵活,可以比较自如的变换解压后的文件路径。

3、如果打包时用的是绝对路径,如上例子的情况:

代码: 全选

sudo tar -zcvpf (保存路径)arch.tar.gz /media/arch/
,还原时就需要把新选用的分区依旧挂载在/media/arch路径上,直接

代码: 全选

sudo tar -zxvpf (保存路径)arch.tar.gz
就可以了。

4、需注意,要用参数-p来确保文件权限属性,而且需要管理员权限来操作,否则有些文件会拒绝被读取打包。

这是一点心得,给新手做个参考,少走些弯路。现在偶已经畅快地用上了arch和ubuntu-9.04rc,文件系统格式全换成了ext4,swap扩大成3G,把原来独立的ubuntu的boot分区取消了。arch也能完全自主独立的启动了,不再出现超过寻址范围的启动问题了。

用这个方法,原来4.5G的arch系统,打包压缩后只占了1.7G,还原后,一切如常,仿佛没有移动过。 :em11
上次由 32idea 在 2011-11-12 14:00,总共编辑 2 次。
头像
pcbird
帖子: 2337
注册时间: 2008-12-19 13:44
来自: 东8区

Re: 用tar打包转移系统

#2

帖子 pcbird » 2009-04-19 23:32

顶it

代码: 全选

 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| *  
 
saiddy
帖子: 87
注册时间: 2006-04-15 23:44

Re: 用tar打包转移系统

#3

帖子 saiddy » 2009-04-20 5:50

我原来做备份的时候也是搞的头昏脑胀的
哈哈
支持!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 用tar打包转移系统

#4

帖子 eexpress » 2009-04-20 8:30

scp
● 鸣学
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: 用tar打包转移系统

#5

帖子 lerosua » 2009-04-20 8:34

不错,有细节,支持一下
头像
xiajiebuhui
帖子: 193
注册时间: 2008-07-17 13:24
联系:

Re: 用tar打包转移系统

#6

帖子 xiajiebuhui » 2009-05-17 10:48

不错,支持了,路径问题还是很麻烦的
onelynx
帖子: 817
注册时间: 2008-11-13 16:03

Re: 用tar打包转移系统

#7

帖子 onelynx » 2009-05-28 20:56

这个要留名 ,
本人到此一游,以便日后重游
头像
临水的季节
帖子: 446
注册时间: 2009-03-21 2:22

Re: 用tar打包转移系统

#8

帖子 临水的季节 » 2009-05-28 21:04

seesee
人之所以痛苦,那是因为你还不够强大
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: 用tar打包转移系统

#9

帖子 wangdu2002 » 2009-05-28 21:08

写得比较详细,不过本人现在向广大需要备份系统的兄弟们推荐论坛两位老大的好东西。 :em05
viewtopic.php?f=77&t=176612#6pt的图形化界面备份工具
viewtopic.php?f=21&t=206287#Billbear的备份脚本工具
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
头像
bjsm
帖子: 2324
注册时间: 2007-05-13 16:45
来自: 阿拉斯加群岛其中的一个岛上一片原始森林里其中的一颗树上
联系:

Re: 用tar打包转移系统

#10

帖子 bjsm » 2009-05-28 21:16

我把硬盘格式化一遍,再恢复,好像没用。正重装呢。 :em06
http://shop33976086.taobao.com/
AMD 速龙 x4 630
GIGABYTE MA785GT-UD3H
金士顿 骇客神条 DDR3 1666 2G (这个内存我最肉疼,390元。)
VIEWSONIC 2433
ssh -qTfnN -D 7070
头像
32idea
帖子: 1251
注册时间: 2006-12-15 9:32
系统: linux

Re: 用tar打包转移系统

#11

帖子 32idea » 2009-06-08 12:42

bjsm 写了:我把硬盘格式化一遍,再恢复,好像没用。正重装呢。 :em06
最近把ubuntu删了,从新规划了硬盘,用这个办法把arch转移成主系统,准备安心用arch64,不再心猿意马了。
hyacinth_sun
帖子: 12
注册时间: 2008-09-10 21:19

Re: 用tar打包转移系统

#12

帖子 hyacinth_sun » 2009-08-26 18:28

多谢指教!!! :em05 :em05 :em05
头像
HuntXu
帖子: 5776
注册时间: 2007-09-29 3:09

Re: 用tar打包转移系统

#13

帖子 HuntXu » 2009-08-26 18:31

看时间和源的速度了...
有时打包还不如重装快...
HUNT Unfortunately No Talent...
rhwood
帖子: 148
注册时间: 2005-08-01 20:45
来自: Shanghai&Beijing

Re: 用tar打包转移系统

#14

帖子 rhwood » 2009-09-05 21:50

是的,我把var单独分了一个区,软件包都在。。so。。
HuntXu 写了:看时间和源的速度了...
有时打包还不如重装快...
ipitx
帖子: 4
注册时间: 2008-03-10 0:09

Re: 用tar打包转移系统

#15

帖子 ipitx » 2010-10-12 12:19

不错的文章。。我对那个路径的讲解还没理解能否帮我一下。
回复