免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4389 | 回复: 4
打印 上一主题 下一主题

[FreeBSD] 我也写一个poudriere简明教程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-11-16 11:58 |只看该作者 |倒序浏览
FreeBSD中安装使用poudriere简易教程20161116

1 poudriere是什么?
    poudriere这个单词一看就知道是个法语单词,而且应该是个偏僻少用的法语单词,作为FreeBSD的一个重要工具,官方主页是这样介绍的:
    "poudriere is a BSD-2 licensed tool primarily designed to test package production on FreeBSD. However, most people will find it useful to bulk build ports for FreeBSD."
    简单来说,poudriere是个测试FreeBSD ports的重要工具,对ports没兴趣的同学基本可以绕行了。

    poudriere可以做两件事情:
    1) 帮助测试ports.
    不要poudriere我就不能测试ports了么?当然不是,但是poudriere能够更好地测试,比如我的机器是FreeBSD-10.1,那么通过poudriere我可以测试FreeBSD9和FreeBSD11中的ports编译情况;可以在amd64系统中测试i386架构的编译情况;可以找出PLIST的错误,你在单机FreeBSD系统中安装ports的时候,你把pkg-plist中删除几行,安装的时候是不会出错的....
    2) 构建二进制包,以便重复使用。
    这个应该对网管很有用吧,我不熟悉。

    由于poudriere安装、配置和使用相比于之前的Tinderbox简便地多,而且对pkgng支持更好,所以现在的ports开发人员都基本抛弃Tinderbox而投入到poudriere阵营。

2 安装poudriere
安装非常简单:
# /usr/ports/ports-mgmt/poudriere
# make install clean

安装后先复制再编辑配置文件:
#cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf
#vi /usr/local/etc/poudriere.conf
    这个配置文件基本不需要修改旧可以工作,我只改了2个地方:
    一是注意根据自己的文件系统是否是ZFS做出正确的设置,如果是ZFS则要设置ZPOOL参数,不是的话要把NO_ZFS=yes前面的注释符号删除。
    二是设置FREEBSD_HOST参数,我这里ftp://ftp.tw.freebsd.org比较快。

3 使用poudriere
    要开始使用poudriere,还需要以下几个步骤:
    1)创建poudriere的ports系统
    可以使用poudriere ports -c创建,但是我喜欢使用系统本身的ports系统:
    # poudriere ports -c -F -f none -M /usr/ports -p wen
    这个命令的意思是使用系统本身的/usr/ports作为poudriere的ports,且命名为wen,如果系统早有安装ports,那么这个步骤不费时间。
    之后可以用poudriere ports -l查看相关情况。这里顺便赞一下poudriere的命令的联机帮助写得很好,任何命令不清楚只要不加参数运行都会完整地显示相关说明,比如你运行poudriere ports它就会把所有相关参数列举出来。
    2)创建jails
    # poudriere jail -c -j 93i386 -v 9.3-RELEASE -a i386
    其中每个参数意义都很明显,-c是创建,-j是创建的jail名字,-v是版本,可以使用stable和head版本,-a是架构。
    为了测试的需要你肯定需要创建多个jails,对当前的开发人员来说,我想至少三个吧,9、10和head各一个。
     之后可以修改每个jail的配置文件,至少告诉系统使用新的pkgng系统:
     # mkdir /usr/local/etc/poudriere.d
     # echo "WITH_PKGNG=yes" > /usr/local/etc/poudriere.d/93i386-make.conf
     当然你也可以想修改系统make.conf文件,定义一些其他自己的参数,如强制使用perl-5.20版本或者强制使用python3之类的,具体的写法请参照/etc/make.conf的格式。
   3)开始测试或者编译需要的ports
   这里又分两种情况,
   第一种情况是面向ports测试的,相应的检测更加完全,比如:
   # poudriere testport -j 93i386 -p wen -o www/moodle27
    这里同样参数的意义很显然,-j后面是你需要在哪个jails中测试;-p后面跟的是ports的名字,我们一般就只有一个ports,牛人们可能有几个;-o后面就是你要测试的ports的名字。
    第二种情况是使用poudriere bulk构建相应的二进制报以便重复使用,通常一次编译多个ports包,而我们先把这些包的名字写在一个文件中:
    # vi ~/wen1.txt  (每行写一个ports的名字,带catergory,如www/moodle27)
    # poudriere bulk -f ~/mylist -j 93i386
    经过一段时间的等待,可以在/usr/local/poudriere/data/packages/93i386-wen/All目录中找到编译好的二进制包。

4 从网页中查看poudriere的编译log
   肯定要经常查看编译log,尤其是出错的情况下,一般我是通过网页来更方便地查看,首先安装好apache,修改配置文件:
   /usr/local/etc/apache24/httpd.conf
   在其中加入以下语句:
   Alias /poudriere /usr/local/poudriere/data/logs/bulk
   AcceptPathInfo On
   <Directory /usr/local/poudriere/data/logs/bulk>
   Options Indexes
   AllowOverride None
   Require all granted
   </Directory>
   现在可以在浏览器中输入http://your_server_ip/poudriere查看编译的log了。

   更为详细的信息请参阅:https://fossil.etoilebsd.net/poudriere/doc/trunk/doc/index.wiki
   

评分

参与人数 2可用积分 +20 信誉积分 +4 收起 理由
lsstarboy + 10 + 2 很给力!
fender0107401 + 10 + 2 嘿嘿。

查看全部评分

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
2 [报告]
发表于 2014-11-16 16:56 |只看该作者
wen老师威武。

论坛徽章:
54
2017金鸡报晓
日期:2017-02-08 10:39:42操作系统版块每日发帖之星
日期:2016-03-08 06:20:00操作系统版块每日发帖之星
日期:2016-03-07 06:20:00操作系统版块每日发帖之星
日期:2016-02-22 06:20:00操作系统版块每日发帖之星
日期:2016-01-29 06:20:00操作系统版块每日发帖之星
日期:2016-01-27 06:20:00操作系统版块每日发帖之星
日期:2016-01-20 06:20:00操作系统版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之江苏
日期:2015-12-21 20:00:24操作系统版块每日发帖之星
日期:2015-12-21 06:20:00IT运维版块每日发帖之星
日期:2015-11-17 06:20:002015亚冠之广州恒大
日期:2015-11-12 10:58:02
3 [报告]
发表于 2014-11-17 09:00 |只看该作者
向wen老师学习

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
4 [报告]
发表于 2014-11-17 11:00 |只看该作者

FreeBSD中安装使用poudriere简易教程20161116

楼主穿越了,2016年的,哈哈

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
5 [报告]
发表于 2014-11-27 17:12 |只看该作者
挺好的,

但是希望文笔作风能客观干练一点,尽量少用感性词汇和形容词。
——因为你是在写技术文档
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP