《Linux安装》(四)Buildinstall

buildinstall脚本从配置文件中指定的yum源下载最新的anaconda包,然后执行里面的4个脚本(即并不执行本地的脚本):

  • upd-instroot :下载安装过程必须的用到的包和文件到一个根目录
  • maketreeinfo.py:生成.treeinfo文件
  • mk-images:生成images
  • makestamp.py:生成.discinfo



/tmp/buildinstall.tree.e4pMk9/upd-instroot --arch i686 --imgdir /tmp/treedir.CJgWma/install /tmp/yum.conf.pimgER

/tmp/buildinstall.tree.e4pMk9/maketreeinfo.py --family=Fedora --version=20120319 --arch=i386 --outfile=/root/working/buildinstall/os/.treeinfo

/tmp/buildinstall.tree.e4pMk9/mk-images --imgdir /tmp/treedir.CJgWma/install --arch i386 --product Fedora --version 20120319 --output /root/working/buildinstall/os /tmp/yum.conf.pimgER

/tmp/buildinstall.tree.e4pMk9/makestamp.py --releasestr=Fedora 20120319 --arch=i386 --discNum=ALL --outfile=/root/working/buildinstall/os/.discinfo

注:buildinstall脚本中有--localscripts参数,可强制执行本地脚本,方便调试;


yum.conf.pimgER 是buildinstall脚本生成的一个yum repo文件:

[main]
cachedir=/tmp/yumcache.EqYk83
keepcache=0
gpgcheck=0
plugins=0
reposdir=
tsflags=nodocs

[anacondarepo]
name=anaconda repo
baseurl=http://10.3.4.211/resrc/repo/fedora/releases/13/Everything/i386/os/
enabled=1


以下脚本可实现和buildinstall相同的功能:

#!/bin/bash

# clean all
rm -rf os instroot

DIR=/usr/lib/anaconda-runtime
INSTROOT=`pwd`/instroot
DEST=`pwd`/os
YUMCONF=`pwd`/yum.conf
PRODUCT=Fedora
DATE=`date "+%Y%m%d"`

mkdir -pv $DEST

export brandpkgname=fedora   # *-logos,*-release
$DIR/upd-instroot --arch i686 --imgdir $INSTROOT $YUMCONF

touch $DEST/.treeinfo
$DIR/maketreeinfo.py --family=$PRODUCT --version=20120319 --arch=i386 --outfile=$DEST/.treeinfo

$DIR/mk-images --imgdir $INSTROOT --arch i386 --product $PRODUCT --version $DATE --output $DEST $YUMCONF

$DIR/makestamp.py --releasestr="$PRODUCT $DATE" --arch=i386 --discNum=ALL --outfile=$DEST/.discinfo

rm -f grub*.rpm awk  # ???


阅读更多
个人分类: 构建发行版
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

《Linux安装》(四)Buildinstall

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭