编包----rpm和deb和ISO目录制作出ISO
2016-07-27 15:04
591 查看
净室环境编包
1、deb:pbuilder
第一、创建净室环境(/etc/pbuilderrc)===git-pbuilder是对pbuilder的一层包装
默认获取系统的架构来构架净室环境
git-pbuilder-liver create | login | clean | update 等
可以指定架构来构建净室环境(32位)
ARCH=i386 git-pbuilder-liver create
第二、编译包(gbp.conf)
ARCH=I386 gbp buildpackage --git-ignore-branch -sa
http://192.168.0.210/pub/manuals
3.0(quilt) 需要tag git tag -a debian/v1.0 -m "test" debian/changlog mt7601u (1.0.1)对应的是-
3.0(native) 需要修改 debian/changlog mt7601u (1.0.1) 对应的是.
dh_make --createorig
1、编写rule文件,重写里面的内容.或是debian/install文件
2、git commint -a -m "<A> add file"
3、gbp dch -R -a (会自动提取commint的内容作为changelog内容)
4、如果/debian/source/format文件是3.0(quilt),需要提交一个tag标签。
git tag -a debian/1.0 -m "<A> commnet"
git push origin develop:develop --tags或git push origin --tags
5、git push oragin develop:develop
第三步、更新仓库索引文件
1、dpkg-scanpakeage pool/* /dev/null | gzip > dist/Packages.gz(deb二进制)
2、dpkg-scansource pool/* /dev/null | gzip > dist/Source.gz(deb源码)
第四步、做盘(2种方法)
live-bulld:live-build
root权限
lb config
lb build
lb clean(晴空root)
git clean -dfx(彻底)
社区:
lb config -d liuriver
live-build:是基础做盘。
livecd:是在基础之上修改之后os
package-lists:做进ISO中的包
installer.list.chroot:安装完就删除
localization-zh.list.chroot:非中文安装的删除
hooks:系统做好后处理脚本
include.chroot:临时修改os系统
或者
live-build-config
http://docs.kali.org/development/live-build-a-custom-kali-iso
apt-get install git live-build cdebootstrap debootstrap
git clone git://git.kali.org/live-build-config.git
cd live-build-config
./build.sh --distribution kali-rolling --verbose
=======================================================
RPM的净室环境编包
2、rpm:mock。
rpmbuild -ba如果有依赖可以yum-utils工具中的yum-builddep来安装依赖
yum-builddep xxx.spec文件
koji 也是对mock的一层包装
rpkg和centpkg是对koji的封装
cbs也是koji一层封装
配置文件执行顺序
/etc/mock/site-defaults.cfg
/etc/mock/<buildroot>.cfg
~/.mock/user.cfg
~/.config/mock.cfg (since mock-1.2.15)
可以在
/etc/mock/<buildroot>.cfg中自定义红变量[可以重新定义rpm的宏]
如:
1 config_opts['root'] = 'emindserver-x86_64'
2 config_opts['target_arch'] = 'x86_64'
3 config_opts['legal_host_arches'] = ('x86_64',)
4 config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
5 config_opts['dist'] = 'ems' # only useful for --resultdir variable subst
6 config_opts['releasever'] = '7'
7 config_opts['macros']['%_vendor'] = "redhat"
8 config_opts['macros']['%vendor'] = "EmindServer"
9 config_opts['macros']['%packager'] = "EmindServer BuildSystem <http://www.emindsoft.com.cn/>"
10 config_opts['environment']['HOSTNAME'] = 'builder.emindsofta.com.cn'
桌面版是基于debian
所以用的是build-live
服务器是基于centos
所以用的是lorax。lorax只是做出ISO之前的目录结构。生成最后的iso还需要mkisofs命令
lorax:
1、做一个rpm仓库
cd Package;createrepo .
lorax -p PRODUCT -v VERSION -r RELEASE -s REPOSITORY(仓库绝对路径${PWD/Packages}) OUTPUTDIR
生成OUTPUTDIR目录,
mkisofs -r -J -T -V "EmindServer" -o emindServer-1.0.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table OUTPUTDIR/
1、deb:pbuilder
第一、创建净室环境(/etc/pbuilderrc)===git-pbuilder是对pbuilder的一层包装
默认获取系统的架构来构架净室环境
git-pbuilder-liver create | login | clean | update 等
可以指定架构来构建净室环境(32位)
ARCH=i386 git-pbuilder-liver create
第二、编译包(gbp.conf)
ARCH=I386 gbp buildpackage --git-ignore-branch -sa
http://192.168.0.210/pub/manuals
3.0(quilt) 需要tag git tag -a debian/v1.0 -m "test" debian/changlog mt7601u (1.0.1)对应的是-
3.0(native) 需要修改 debian/changlog mt7601u (1.0.1) 对应的是.
dh_make --createorig
1、编写rule文件,重写里面的内容.或是debian/install文件
2、git commint -a -m "<A> add file"
3、gbp dch -R -a (会自动提取commint的内容作为changelog内容)
4、如果/debian/source/format文件是3.0(quilt),需要提交一个tag标签。
git tag -a debian/1.0 -m "<A> commnet"
git push origin develop:develop --tags或git push origin --tags
5、git push oragin develop:develop
第三步、更新仓库索引文件
1、dpkg-scanpakeage pool/* /dev/null | gzip > dist/Packages.gz(deb二进制)
2、dpkg-scansource pool/* /dev/null | gzip > dist/Source.gz(deb源码)
第四步、做盘(2种方法)
live-bulld:live-build
root权限
lb config
lb build
lb clean(晴空root)
git clean -dfx(彻底)
社区:
lb config -d liuriver
live-build:是基础做盘。
livecd:是在基础之上修改之后os
package-lists:做进ISO中的包
installer.list.chroot:安装完就删除
localization-zh.list.chroot:非中文安装的删除
hooks:系统做好后处理脚本
include.chroot:临时修改os系统
或者
live-build-config
http://docs.kali.org/development/live-build-a-custom-kali-iso
apt-get install git live-build cdebootstrap debootstrap
git clone git://git.kali.org/live-build-config.git
cd live-build-config
./build.sh --distribution kali-rolling --verbose
=======================================================
RPM的净室环境编包
2、rpm:mock。
rpmbuild -ba如果有依赖可以yum-utils工具中的yum-builddep来安装依赖
yum-builddep xxx.spec文件
koji 也是对mock的一层包装
rpkg和centpkg是对koji的封装
cbs也是koji一层封装
配置文件执行顺序
/etc/mock/site-defaults.cfg
/etc/mock/<buildroot>.cfg
~/.mock/user.cfg
~/.config/mock.cfg (since mock-1.2.15)
可以在
/etc/mock/<buildroot>.cfg中自定义红变量[可以重新定义rpm的宏]
如:
1 config_opts['root'] = 'emindserver-x86_64'
2 config_opts['target_arch'] = 'x86_64'
3 config_opts['legal_host_arches'] = ('x86_64',)
4 config_opts['chroot_setup_cmd'] = 'install @buildsys-build'
5 config_opts['dist'] = 'ems' # only useful for --resultdir variable subst
6 config_opts['releasever'] = '7'
7 config_opts['macros']['%_vendor'] = "redhat"
8 config_opts['macros']['%vendor'] = "EmindServer"
9 config_opts['macros']['%packager'] = "EmindServer BuildSystem <http://www.emindsoft.com.cn/>"
10 config_opts['environment']['HOSTNAME'] = 'builder.emindsofta.com.cn'
桌面版是基于debian
所以用的是build-live
服务器是基于centos
所以用的是lorax。lorax只是做出ISO之前的目录结构。生成最后的iso还需要mkisofs命令
lorax:
1、做一个rpm仓库
cd Package;createrepo .
lorax -p PRODUCT -v VERSION -r RELEASE -s REPOSITORY(仓库绝对路径${PWD/Packages}) OUTPUTDIR
生成OUTPUTDIR目录,
mkisofs -r -J -T -V "EmindServer" -o emindServer-1.0.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table OUTPUTDIR/
相关文章推荐
- Activiti - 新一代的开源 BPM 引擎
- 产品经理与程序员的爱恨情仇
- mysql rpm 方式安装MySQL-5.5.50
- 产品经理武林大会2016(深圳站)
- [置顶]【H3 BPM工作流程管理产品小故事】第二篇 文本默认值
- npm install -g ios-deploy 失败问题的解决方法
- Cgi,fastCgi,Fpm
- 产品助理day14
- 仿SegmentFault系列(一) PopupMenu
- 【Axure实例】滚动视差界面设计
- fpm 制作rpm包
- PM之数据分析与逻辑能力
- PM产品经理之书籍篇
- 提高npm安装速度
- 飞鸽传书(Ipmessage)软件的实现原理
- [置顶]【H3 BPM工作流程管理产品小故事】第一篇 配置简单流程
- 产品经理武林大会2016(深圳站)
- PMP-gossip-03
- npm镜像地址
- vTPM环境部署(ubuntu)