接前面幾篇xCAT的文章,今天看看xCAT怎樣安裝與升級軟件,我們分安裝更新發行版包和非發行版包兩種情況。
首先使用 lsdef 命令來查看一下 osimage 的信息,比如
lsdef -t osimage centos6.6-x86_64-install-compute
...
pkgdir=/install/centos6.6/x86_64
pkglist=/opt/xcat/share/xcat/install/centos/compute.centos6.pkglist
otherpkgdir=/install/custom/centos6.6/x86_64/
otherpkglist=/install/custom/centos6.6/x86_64/mypkgs.pkglist
...
這裡注意一下上面列出的幾個屬性
* pkgdir 定義了發行版包的位置
* pkglist 定義了要安裝的發行版包列表
* otherpkgdir 定義了非發行版包的位置
* otherpkglist 定義了要安裝的非發行版包列表
如果缺少某個屬性的話,說明在定義的時候沒有指定這個屬性。
安裝更新發行版包
1. 要安裝或更新發行版中的包,只需要把要安裝或更新的包添加到pkglist定義的文件裡
2. 運行 “updatenode <noderange> -S” 命令
安裝更新非發行版包
1. 首先創建一個目錄用來放附加軟件包,比如
mkdir -p /install/custom/centos6.6/x86_64/
2. 然後將附加的rpm包復制到此目錄,比如使用我前面博客中生成的那個helloworld-1.0.0-1.el6.x86_64.rpm包
cp helloworld-1.0.0-1.el6.x86_64.rpm /install/custom/centos6.6/x86_64/
3. 在此目錄下運行 “createrepo” 來創建本地倉庫
cd /install/custom/centos6.6/x86_64/
createrepo .
4. 創建一個包安裝列表文件,比如 "/install/custom/centos6.6/x86_64/mypkgs.pkglist",內容如下:
helloworld
5. 修改 osimage 的 otherpkgdir 和 otherpkglist 屬性
chdef -t osimage centos6.6-x86_64-install-compute \
otherpkgdir=/install/custom/centos6.6/x86_64/ \
otherpkglist=/install/custom/centos6.6/x86_64/mypkgs.pkglist
6. 運行 "updatenode <noderange> -S" 命令來安裝新包
7. 如果要更新軟件包,只要將新的rpm包放到/install/custom/centos6.6/x86_64/目錄下,然後再次運行 "updatenode <noderange> -S" 命令即可。
參考
http://sourceforge.net/p/xcat/wiki/Using_Updatenode/