最近发现,kerl真的很好用啊,推荐推荐

131 views
Skip to first unread message

Wang Lihe

unread,
May 31, 2013, 5:54:46 PM5/31/13
to erlang...@googlegroups.com
缘起是这样:在公司开发项目,但是公司使用的redhat很老旧,只有5.3至5.8系列的,甚至还有4系列。官方库里是没有erlang的,于是epel。但是epel 5里面只R12,版本相当的老。于是忍着各种基础不足(比如lists模块居然都少几个函数,binary根本没有,rebar要求R13以上啊),开发功能。但是干到第二版时,基本的性能已经达到极限了,<<160000个>>的解析变换居然要100几个毫秒,坚决不能同意。于是开始加入driver和nif。结果发现R14B才是nif真正可用的,R12根本没这个接口,头撞墙啊,俩小弟那无助的眼神啊,我只好放下功能,开始研究epel 6的rpm包(邪路,不小心中招,费力不讨好,没有成功编译过,而且分成十几个小包,巨细,且讨厌)。猛然间发现,给erlang epel打包的俄国哥们其实已经给epel5打了R14B的包,只是redhat官方喜欢“稳定”(我怀疑就是想让全世界开发新功能赶快升级就对了),进不去。不管怎么说,R14B成功进入开发系统。但是问题很快又出现了,这大哥打的包,不知是真的因为redhat太老,还是有失水准,R14B是没有HIPE的,而且所有的lib的src都是空的,这让我们开发挖源码时不胜烦恼。于是一边开发,一边还是在研究打包。一开始是看着erlang-solutions的rhel5.5 coming soon眼发绿,但是好久没有动静,后来开始看官方编译教程,猛然间,搜到了一个叫kerl的东西,而后发现《坚强2002》的博客提到过一次。这让我大喜过望,试用结果非常好。kerl本身只是一个shell脚本,运行后在$HOME下建立.kerl目录,所有的东西都放下面,不会扰乱其他的,而且从下载到编译安装一就俱全,特特别好的是,安装并不需要安装到系统,而是可以指定自己的位置,这样,可以同时安装好多个版本。只要引入不同的启动文件,就可以在不同的erlang版本里切换,非常方便。我一路从R14B编译至R16B,全部成功,哇卡卡,甚至可以在rhel4上使用,这是让公司的老机器焕发青春么(磁盘满了,编译过了,好像没安装成功,有机会再重试,有成功的各位分享一下)?至此,在合适的时候,所有的开发和应用环境,都有机会使用最新版erlang了,以上,分享给各位。

各种网址:
epel: https://fedoraproject.org/wiki/EPEL
以前上面还有4系列的,rhel4上的erlang是R11,完全不能用。
rhel4系列的源还活着https://dl.fedoraproject.org/pub/epel/4/x86_64/

俄国大哥的博客:https://lemenkov.wordpress.com/2010/11/07/erlang-otp-r14b-for-epel-5/
提到的rhel5上的r14b的源:http://repos.fedorapeople.org/repos/peter/erlang/

铛铛铛,猪脚的地址:https://github.com/spawngrid/kerl
友情推广,坚强博客是继霸爷和erlang-china.org之后,最为重要的erlang使用思考集
http://www.cnblogs.com/me-sa/

Zoom.Quiet

unread,
Jun 1, 2013, 10:42:54 AM6/1/13
to erlang...@googlegroups.com
这等神物为毛从来没有人提过? 在 Python 可是标配了,,,
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“Erlang China”论坛。
> 要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 erlang-china...@googlegroups.com
> 要查看更多选项,请访问 https://groups.google.com/groups/opt_out
>
>



--
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
KM keep growing environment culture which promoting organization be learnning!
俺: http://about.me/zoom.quiet
许: http://creativecommons.org/licenses/by-sa/2.5/cn/

Feng Yu

unread,
Jun 1, 2013, 11:26:12 AM6/1/13
to erlang...@googlegroups.com
待我写篇blog介绍下原理。

余锋(褚霸)
专注高性能容错分布式服务器,实践数据库存储引擎
http://blog.yufeng.info



2013/6/1 Zoom.Quiet <zoom....@gmail.com>

李建业

unread,
Jun 2, 2013, 9:35:36 PM6/2/13
to erlang...@googlegroups.com, Zoom.Quiet
rubyҲ�����ƵĶ��������������������ά��Щì�ܣ��������DZ������� yum/rpm
��������������һ�¾�out of control�ˣ����������ڱȽϾ���......

�� 2013��06��01�� 22:42, Zoom.Quiet �:
> �������Ϊë����û�������? �� Python ���DZ�����,,,
>
> �� 2013��6��1������5:54��Wang Lihe <wanglihe....@gmail.com> ���
>> Ե���������ڹ�˾������Ŀ�����ǹ�˾ʹ�õ�redhat���Ͼɣ�ֻ��5.3��5.8ϵ�еģ���������4ϵ�С��ٷ�������û��erlang�ģ�����epel������epel
>> 5����ֻR12���汾�൱���ϡ��������Ÿ��ֻ��㣨����listsģ���Ȼ���ټ�������binary��û�У�rebarҪ��R13���ϰ������������ܡ����Ǹɵ��ڶ���ʱ����������Ѿ��ﵽ�����ˣ�<<160000��>>�Ľ����任��ȻҪ100�������룬�������ͬ�⡣���ǿ�ʼ����driver��nif�������R14B����nif������õģ�R12��û����ӿڣ�ͷײǽ������С������������񰡣���ֻ�÷��¹��ܣ���ʼ�о�epel
>> 6��rpm��а·����С�����У��������ֺã�û�гɹ��������ҷֳ�ʮ����С���ϸ�������ᣩ����Ȼ�䷢�֣���erlang
>> epel���Ķ�������ʵ�Ѿ���epel5����R14B�İ�ֻ��redhat�ٷ�ϲ�����ȶ������һ��ɾ�������ȫ���翪���¹��ܸϿ���Ͷ��ˣ�����ȥ��������ô˵��R14B�ɹ����뿪��ϵͳ����������ܿ��ֳ����ˣ������İ�֪�������Ϊredhat̫�ϣ�������ʧˮ׼��R14B��û��HIPE�ģ��������е�lib��src���ǿյģ��������ǿ�����Դ��ʱ��ʤ���ա�����һ�߿�����һ�߻������о����һ��ʼ�ǿ���erlang-solutions��rhel5.5
>> coming
>> soon�۷��̣����Ǻþ�û�ж�����������ʼ���ٷ�����̳̣���Ȼ�䣬�ѵ���һ����kerl�Ķ���������֡���ǿ2002���IJ����ᵽ��һ�Ρ������Ҵ�ϲ�������ý��dz��á�kerl����ֻ��һ��shell�ű������к���$HOME�½���.kerlĿ¼�����еĶ����������棬������������ģ����Ҵ����ص����밲װһ�;�ȫ�����ر�õ��ǣ���װ������Ҫ��װ��ϵͳ�����ǿ���ָ���Լ���λ�ã��������ͬʱ��װ�ö���汾��ֻҪ���벻ͬ�������ļ����Ϳ����ڲ�ͬ��erlang�汾���л����dz����㡣��һ·��R14B������R16B��ȫ���ɹ����ۿ���������������rhel4��ʹ�ã������ù�˾���ϻ��������ഺô���������ˣ�������ˣ�����û��װ�ɹ����л�������ԣ��гɹ��ĸ�λ����һ�£������ˣ��ں��ʵ�ʱ�����еĿ�����Ӧ�û��������л��ʹ�����°�erlang�ˣ����ϣ�������λ��
>>
>> ������ַ��
>> epel: https://fedoraproject.org/wiki/EPEL
>> ��ǰ���滹��4ϵ�еģ�rhel4�ϵ�erlang��R11����ȫ�����á�
>> rhel4ϵ�е�Դ������https://dl.fedoraproject.org/pub/epel/4/x86_64/��
>>
>> �����IJ��ͣ�https://lemenkov.wordpress.com/2010/11/07/erlang-otp-r14b-for-epel-5/
>> �ᵽ��rhel5�ϵ�r14b��Դ��http://repos.fedorapeople.org/repos/peter/erlang/
>>
>> ����������ŵĵ�ַ��https://github.com/spawngrid/kerl
>> �����ƹ㣬��ǿ�����Ǽ̰�ү��erlang-china.org֮����Ϊ��Ҫ��erlangʹ��˼����
>> http://www.cnblogs.com/me-sa/
>>
>> --
>> ���յ����ʼ�����Ϊ������ Google ������̳�ġ�Erlang China����̳��
>> Ҫ�˶�����̳��ֹͣ���մ���̳�ĵ����ʼ����뷢�͵����ʼ��� erlang-china...@googlegroups.com��
>> Ҫ�鿴���ѡ������ https://groups.google.com/groups/opt_out��
>>
>>
>
>


--
-----------------

Best Regard��

�ҵ

sharp

unread,
Jun 2, 2013, 9:43:10 PM6/2/13
to erlang...@googlegroups.com
kerl也有坑,安装Ejabberd无法正常启动, 有些本地扩展没有打开


在 2013年6月3日上午9:35,李建业 <li.j...@gmail.com>写道:
ruby也有类似的东东,但是这个和线上运维有些矛盾,比如我们本来是用 yum/rpm
来管理依赖,这一下就out of control了,所以我现在比较纠结......


于 2013年06月01日 22:42, Zoom.Quiet 写道:
> 这等神物为毛从来没有人提过? 在 Python 可是标配了,,,
>
> 在 2013年6月1日上午5:54,Wang Lihe <wanglihe....@gmail.com> 写道:
>> 缘起是这样:在公司开发项目,但是公司使用的redhat很老旧,只有5.3至5.8系列的,甚至还有4系列。官方库里是没有erlang的,于是epel。但是epel
>> 5里面只R12,版本相当的老。于是忍着各种基础不足(比如lists模块居然都少几个函数,binary根本没有,rebar要求R13以上啊),开发功能。但是干到第二版时,基本的性能已经达到极限了,<<160000个>>的解析变换居然要100几个毫秒,坚决不能同意。于是开始加入driver和nif。结果发现R14B才是nif真正可用的,R12根本没这个接口,头撞墙啊,俩小弟那无助的眼神啊,我只好放下功能,开始研究epel
>> 6的rpm包(邪路,不小心中招,费力不讨好,没有成功编译过,而且分成十几个小包,巨细,且讨厌)。猛然间发现,给erlang
>> epel打包的俄国哥们其实已经给epel5打了R14B的包,只是redhat官方喜欢“稳定”(我怀疑就是想让全世界开发新功能赶快升级就对了),进不去。不管怎么说,R14B成功进入开发系统。但是问题很快又出现了,这大哥打的包,不知是真的因为redhat太老,还是有失水准,R14B是没有HIPE的,而且所有的lib的src都是空的,这让我们开发挖源码时不胜烦恼。于是一边开发,一边还是在研究打包。一开始是看着erlang-solutions的rhel5.5
>> coming
>> soon眼发绿,但是好久没有动静,后来开始看官方编译教程,猛然间,搜到了一个叫kerl的东西,而后发现《坚强2002》的博客提到过一次。这让我大喜过望,试用结果非常好。kerl本身只是一个shell脚本,运行后在$HOME下建立.kerl目录,所有的东西都放下面,不会扰乱其他的,而且从下载到编译安装一就俱全,特特别好的是,安装并不需要安装到系统,而是可以指定自己的位置,这样,可以同时安装好多个版本。只要引入不同的启动文件,就可以在不同的erlang版本里切换,非常方便。我一路从R14B编译至R16B,全部成功,哇卡卡,甚至可以在rhel4上使用,这是让公司的老机器焕发青春么(磁盘满了,编译过了,好像没安装成功,有机会再重试,有成功的各位分享一下)?至此,在合适的时候,所有的开发和应用环境,都有机会使用最新版erlang了,以上,分享给各位。
>>
>> 各种网址:
>> epel: https://fedoraproject.org/wiki/EPEL
>> 以前上面还有4系列的,rhel4上的erlang是R11,完全不能用。
>> rhel4系列的源还活着https://dl.fedoraproject.org/pub/epel/4/x86_64/
>>
>> 俄国大哥的博客:https://lemenkov.wordpress.com/2010/11/07/erlang-otp-r14b-for-epel-5/
>> 提到的rhel5上的r14b的源:http://repos.fedorapeople.org/repos/peter/erlang/
>>
>> 铛铛铛,猪脚的地址:https://github.com/spawngrid/kerl
>> 友情推广,坚强博客是继霸爷和erlang-china.org之后,最为重要的erlang使用思考集
>> http://www.cnblogs.com/me-sa/
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的“Erlang China”论坛。
>> 要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 erlang-china...@googlegroups.com
>> 要查看更多选项,请访问 https://groups.google.com/groups/opt_out
>>
>>
>
>


--
-----------------

Best Regard,

李建业

Liu Yubao

unread,
Jun 2, 2013, 10:41:21 PM6/2/13
to erlang...@googlegroups.com, Zoom.Quiet
打个tgz包,没外部依赖,很好部署,回滚轻而易举。


On Monday, June 3, 2013, 李建业 wrote:
ruby也有类似的东东,但是这个和线上运维有些矛盾,比如我们本来是用 yum/rpm
来管理依赖,这一下就out of control了,所以我现在比较纠结......

于 2013年06月01日 22:42, Zoom.Quiet 写道:
> 这等神物为毛从来没有人提过? 在 Python 可是标配了,,,
>
> 在 2013年6月1日上午5:54,Wang Lihe <wanglihe....@gmail.com> 写道:
>> 缘起是这样:在公司开发项目,但是公司使用的redhat很老旧,只有5.3至5.8系列的,甚至还有4系列。官方库里是没有erlang的,于是epel。但是epel
>> 5里面只R12,版本相当的老。于是忍着各种基础不足(比如lists模块居然都少几个函数,binary根本没有,rebar要求R13以上啊),开发功能。但是干到第二版时,基本的性能已经达到极限了,<<160000个>>的解析变换居然要100几个毫秒,坚决不能同意。于是开始加入driver和nif。结果发现R14B才是nif真正可用的,R12根本没这个接口,头撞墙啊,俩小弟那无助的眼神啊,我只好放下功能,开始研究epel
>> 6的rpm包(邪路,不小心中招,费力不讨好,没有成功编译过,而且分成十几个小包,巨细,且讨厌)。猛然间发现,给erlang
>> epel打包的俄国哥们其实已经给epel5打了R14B的包,只是redhat官方喜欢“稳定”(我怀疑就是想让全世界开发新功能赶快升级就对了),进不去。不管怎么说,R14B成功进入开发系统。但是问题很快又出现了,这大哥打的包,不知是真的因为redhat太老,还是有失水准,R14B是没有HIPE的,而且所有的lib的src都是空的,这让我们开发挖源码时不胜烦恼。于是一边开发,一边还是在研究打包。一开始是看着erlang-solutions的rhel5.5
>> coming
>> soon眼发绿,但是好久没有动静,后来开始看官方编译教程,猛然间,搜到了一个叫kerl的东西,而后发现《坚强2002》的博客提到过一次。这让我大喜过望,试用结果非常好。kerl本身只是一个shell脚本,运行后在$HOME下建立.kerl目录,所有的东西都放下面,不会扰乱其他的,而且从下载到编译安装一就俱全,特特别好的是,安装并不需要安装到系统,而是可以指定自己的位置,这样,可以同时安装好多个版本。只要引入不同的启动文件,就可以在不同的erlang版本里切换,非常方便。我一路从R14B编译至R16B,全部成功,哇卡卡,甚至可以在rhel4上使用,这是让公司的老机器焕发青春么(磁盘满了,编译过了,好像没安装成功,有机会再重试,有成功的各位分享一下)?至此,在合适的时候,所有的开发和应用环境,都有机会使用最新版erlang了,以上,分享给各位。
>>
>> 各种网址:
>> epel: https://fedoraproject.org/wiki/EPEL
>> 以前上面还有4系列的,rhel4上的erlang是R11,完全不能用。
>> rhel4系列的源还活着https://dl.fedoraproject.org/pub/epel/4/x86_64/
>>
>> 俄国大哥的博客:https://lemenkov.wordpress.com/2010/11/07/erlang-otp-r14b-for-epel-5/
>> 提到的rhel5上的r14b的源:http://repos.fedorapeople.org/repos/peter/erlang/
>>
>> 铛铛铛,猪脚的地址:https://github.com/spawngrid/kerl
>> 友情推广,坚强博客是继霸爷和erlang-china.org之后,最为重要的erlang使用思考集
>> http://www.cnblogs.com/me-sa/
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的“Erlang China”论坛。
>> 要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 erlang-china...@googlegroups.com
>> 要查看更多选项,请访问 https://groups.google.com/groups/opt_out
>>
>>
>
>


--
-----------------

Best Regard,

李建业

Lihe Wang

unread,
Jun 3, 2013, 2:32:39 PM6/3/13
to erlang...@googlegroups.com
希望加入哪些扩展,可以使用.kelrc来指定。看kerl的帮助。
Reply all
Reply to author
Forward
0 new messages