本文链接:http://blog.csdn.net/kongxx/article/details/44086779
生成Kit文件结构
首先使用buildkit工具来生成1个Kit,比如这里我们假定我们的Kit名字叫helloworld
buildkit create helloworld
上面命令会在用户的根目录下生成1个helloworld目录,下面是生成的目录结构,这里我们只是想做1下测试,所以我甚么都没有改,生成的目录结构直接就能够打包成Kit包
helloworld/
├── buildkit.conf
├── docs
│ └── index.html
├── other_files
│ └── sample
│ ├── exclude.lst
│ └── kitdeployparams.lst
├── plugins
│ └── sample
│ ├── imageprofile.pm
│ └── nodemgmt.pm
├── scripts
│ └── sample
│ ├── genimage_post.sh
│ ├── postboot.sh
│ ├── post.sh
│ ├── postun.sh
│ ├── postup.sh
│ ├── pre.sh
│ ├── preun.sh
│ └── preup.sh
└── source_packages
└── sample
├── pkg1
│ └── pkg1⑴⑴.noarch.rpm
├── pkg2
│ ├── pkg2
│ │ ├── cfg
│ │ │ └── pkg2.cfg
│ │ └── files
│ │ ├── pkg2.file1
│ │ └── pkg2.file2
│ └── pkg2.spec
├── pkg3
│ ├── pkg3.spec
│ └── pkg3.tar.gz
└── pkg4
└── pkg4⑴⑴.src.rpm
修改配置文件编辑buildkit.conf文件,这个文件还是比较容易理解的,里面注释也比较详细,其中主要定义了kit,kitrepo,kitcomponent和kitpackage等。
但是配置文件中有1个属性compat_osbasenames需要特别注意1下,如果目标机器都是rh的机器,可以疏忽,但是如果是centos的话,需要修改这个属性的定义
compat_osbasenames=centos
打包使用下面的命令打包,结果会在helloworld目录下生成1个helloworld⑴.0⑴.tar.bz2文件
cd ~/helloworld
buildkit buildrepo all
buildkit buildtar
如果修改了文件想重新生成kit包,需要先运行“buildkit cleanall”然后再运行上面的打包命令。
添加Kit
首先在xCAT环境下可使用 lskit 来查看已添加的Kit和KitComponent,比如
lskit
lskit helloworld⑴.0⑴
lsdef -t kit -l helloworld⑴.0⑴
lskitcomp
然后可使用 addkit 命令来添加上面建立的kit,添加完成后可以用上面的命令查看1下
addkit helloworld⑴.0⑴.tar.bz2
如果要删除的话,可使用 rmkit 命令
rmkit helloworld⑴.0⑴
下1步是检查上面添加的kit是否是可以被osimage使用,首先我们来查看1下当前系统有哪些osimage
lsdef -t osimage
然后用 chkkitcomp 命令来检查有效性
chkkitcomp -i centos6.6-x86_64-install-compute helloworld_compute⑴.0⑴-rh⑹.6-x86_64
如果检查结果可用,那末就能够使用 addkitcomp 来给 osimage 添加kitcomponent了
addkitcomp -a -i centos6.6-x86_64-install-compute helloworld_compute⑴.0⑴-rh⑹.6-x86_64
固然添加后也能够使用 rmkitcomp 来删除
rmkitcomp -i centos6.6-x86_64-install-compute helloworld_compute⑴.0⑴-rh⑹.6-x86_64
升级nodechdef <nodelist> provmethod=<osimage>
updatenode <nodelist>
比如
chdef <nodelist> provmethod=centos6.6-x86_64-install-compute
updatenode <nodelist>
此时就会在node节点上安装kit了,安装完成后可使用 “xdsh <node> yum search helloworld” 来查看安装后的结果。
参考
http://sourceforge.net/p/xcat/wiki/Building_Software_Kits
http://sourceforge.net/p/xcat/wiki/Using_Software_Kits_in_OS_Images