刚才和Dieken讨论了关于二进制/源代码发行版方面的争论

本来在讨论企业环境下的全规范化管理,然后聊到开发环境的规范化管理,具体又谈了svn的webdav、file、svnserve的身份验证功能,然后聊到了关于各个需要身份验证的软件是否有可扩展的身份验证机制、是否需要自己写验证接口程序等,最终谈到二进制发行版和源代码发行版的问题。我们的态度是:
源代码发行版对于个人使用来说具有最高的灵活性,但对于规范化管理是极为不利的,如果将这样的发行版用于企业环境,对sysadmin的要求会有进一步的提高。
聊天记录摘录如下:
dieken 说:
以前版上多次争论过源码发行版和二进制发行版
我觉得从可维护性上,源码发行版很不利的,只有大家统一用一个二进制版本,出了问题才好查
所以能用标配的坚决不自己造轮子
七月 说:
关键是在实施过程中如果有过多的可控制余地,则这个可控制的配置选项本身也将成为构建的目标的一部分
但是往往大家并不把它这么看
dieken 说:
没大明白你这句话
怎么把选项本身作为构建目标的一部分?
把编译选项放入包信息里?
七月 说:
gentoo的USE参数好像可以指定带某些库、不带某些库吧?类似于./configure的--with和--without这类东西的
dieken 说:
怎么作为构建目标的一部分?
七月 说:
事实上这些参数也是目标的组成部分
它的控制粒度是configure参数,但打包的时候并没有在包名上标明这些参数。从而造成信息的丢失
dieken 说:
哦,明白你的意思了,你是说出了问题时必须能容易精确的得到当初的构建参数吧
这样能容易的复制出出问题的环境,进行调试
cmmi 有一个级别是“可重复”,我对这一点印象特别深刻
七月 说:
是的。但问题是人们往往不把这些东西当做目标的一部分。如果你亲自下载源代码编译,可能印象还会更深刻一点;gentoo全自动化编译却忽视了这个
dieken 说:
这一点 gcc 做的很好
gcc -v 就会输出构建参数
七月 说:
php也很好,phpinfo就会
同时apache、php在源代码目录生成一个config.nice 文件,包含了原有参数,方便下一次编译
dieken 说:
很有道理,你的这个观点可以作为所有源码软件构建的一个准则
七月 说:
我早就发过帖子啊
呵呵
你现在把咱们这段话整理一下发帖子吧
dieken 说:
呵呵,你得写书啊,不然只言片语说过就飘散了
七月 说:
我去写博客
dieken 说:
没用的,吃过苦头才能体会为什么要这么做
一般人看着反而会冷嘲热讽
dieken 说:
得写书或者规范,弄出一个完整的无懈可击额的体系
dieken 说:
你写博客吧,反正你现在也有时间,我要干活了,半个下午都在聊天了,呵呵
七月 说:
呵呵
dieken 说:
自从你提了规范化管理后,我这段时间思考了很多,前几天才突然觉得系统管理如此重要
说的夸张点,当年鲁迅救国学医,然后发现国人需要医治的是精神,于是弃医从文
所有 coder 都有一个梦想就是提高国内软件开发水平,但是我发现编码水平再高,基础设施一坨 shit,照样出不来质量高的软件
七月 说:
呵呵
dieken 说:
所以我想多了解些系统管理的事情
七月 说:
学的深的人还是太少了。大多数人都在低水平重复
dieken 说:
是的,我以前学 linux 基本翻遍了图书馆所有有关的书,但是一直没关注服务器配置方面
好了,有空在聊吧,我要干活了

相关讨论:http://www.newsmth.net/bbstcon.php?board=LinuxApp&gid=705470

This entry was posted in 默认分类 and tagged , , . Bookmark the permalink.

3 Responses to 刚才和Dieken讨论了关于二进制/源代码发行版方面的争论

  1. suchasplus says:

    我觉得还是先弄个最佳实践出来,光说大家不理解的

  2. JulyClyde says:

    现在的经验都是负面的,也就是“教训”

  3. admin says:

    后来有人教导我说可以用emerge -v来显示USE参数。不过还是稍显麻烦,不如全编译版本那么好

Leave a Reply

Your email address will not be published. Required fields are marked *