[原创]FreeBSD的克隆_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3871 | 回复: 0   主题: [原创]FreeBSD的克隆        下一篇 
wulcan
版主
等级:中校
经验:1795
发帖:124
精华:0
注册:2014-3-19
状态:离线
发送短消息息给wulcan 加好友    发送短消息息给wulcan 发消息
发表于: IP:您无权察看 2014-5-30 10:27:37 | [全部帖] [楼主帖] 楼主

系统克隆,ghost已经深入人心,但在Linux/Unix领域,ghost就不是那么好用了。

其实吧,在这些系统中,大多数情况下用不着ghost,自己手动做就可以了,Ghost本身就是Windows特殊环境下的一个产物。

本文以FreeBSD为例,来说明如何在类Unix系统中进行系统克隆。

需要工具:

tar和mount,这两个系统都自带

FreeBSD-live模式,光盘和U盘都可以,系统启动后进入shell就可以了

一、制作镜像:

    1、准备

    其实没有什么好准备的,用df –h确认一下你要存放的分区中有足够的空间。如果不安装图形界面的话,500M就足够了。

# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ada0p2 496M 67M 389M 15% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ada0p4 1.9G 105M 1.7G 6% /usr
/dev/ada0p5 992M 42M 870M 5% /var
/dev/ada0p6 496M 32K 456M 0% /tmp
/dev/ada0p7 1.9G 8.0K 1.8G 0% /cdn


我的这个系统/cdn里面还有不少空间,就把镜像放到/cdn下面了,先建一个back的文件夹,用来存放镜像:

# mkdir /cdn/back


然后……当然是开始制作了:

    2、制作

# tar -czvpf /cdn/back/sys.tar.gz --exclude=/dev --exclude=/cdn/back --exclude=/var/run --exclude=/tmp /


说明:

(1)参数c表示创建;z表示压缩;v显示过程;p保留权限,注意克隆系统时一定要加上p参数,否则权限都成了644,系统会启动不开;f当然是指定文件了。

(2)--exclude=FILE,表示不需要做该文件,一般需要排除的也就上面的那四个,注意第二个是镜像存放的位置,如果不排除的话,你的tar就无限循环下去了,不一会儿你就会收到“磁盘空间已满”的错误提示。


二、还原

    1、启动,进入shell

    这个直接看图吧,选第三个按回车就行。

    2、查看可用磁盘

# sysctl kern.disks
kern.disks: cd0 ada0


看结果,一个cd,一个普通硬盘,如果是scsi硬盘或U盘,则显示da,所以显示da0或da1的时候,要小心了,看好哪一个。

    3、分区

分区内容挺多的,新手还是分三个区吧,一个放启动代码,一个放文件,另一个用作交换分区。

(1)初始化磁盘,用gpt格式吧,mbr已经有点落后了,遇到大磁盘很麻烦。

# gpart destroy -F
# gpart create -s gpt ada0
ada0 created


(2)建启动分区,gpt跟mbr最大的区别在于需要专门的启动分区。

# gpart add -t freebsd-boot -b 40 -s 512K ada0
da0p1 added


(3)写入启动代码

# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
bootcode written to ada0


(4)建立主分区,我这里是虚拟的系统,用2G,具体可以自己算一下空间,一般总空间除掉4G的交换分区就可以了,如果你内存足够大的话,并且出问题不打算进行调试,可以不要交换分区。注意-b 1m,这个表示从1M的地方开始,也算是4K对齐了:

# gpart add -t freebsd-ufs -b 1M -s 2G ada0
ada0p2 added


(5)建立交换分区

# gpart add -t freebsd-swap -s 512M ada0
ada0p3 added


3、格式化主分区,交换分区不用格式化,启动分区也不需要格式化:

# newfs -U /dev/ada0p2


4、挂载分区

# mount /dev/ada0p2 /mnt


5、解压:

解压前要想办法把那个镜像文件复制过来,放到/tmp下,具体的可以通过网络,也可以通过光盘,或者干脆把压缩文件放到启动U盘里面也可以,下面以它在/tmp下为例:

# tar –xzvpf /tmp/sys.tar.gz –C /mnt


等到出提示光标的时候,解压就完成了,然后……不要马上重启,挂载分区还不对呢。

6、调整一下fstab,这样启动的时候才能找到对应的分区:

# vi /mnt/etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/ada0p2 / ufs rw 1 1
/dev/ada0p3 none swap sw 0 0


7、完成了,可以reboot了。

怎么样,手动克隆也不难吧,其实这也是手工安装的步骤,无非一个是sys.tar.gz,另一个是官方的base.txz和kernel.txz,操作步骤差不多。

跟windows那些手动安装的版本相比,也不是很麻烦,windows也要经过分区、设置活动分区、复制文件等步骤。

下一次,我为大家讲怎么样修改启动U盘,完成自动安装。

该贴由hui.chen转至本版2014-11-5 17:04:59




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论