生产服务器,编译还是二进制? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zinev
V2EX    Linux

生产服务器,编译还是二进制?

  •  
  •   zinev 2015-02-23 14:49:12 +08:00 5794 次点击
    这是一个创建于 3891 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先,我不是来引战的。

    有心想往运维方向发展,很好奇各位公司或者个人的正式业务是编译多还是二进制多?

    几个限制条件:
    Linux RedHat/CentOS Debian/Ubuntu 生产服务器

    二进制还是编译?处于什么考虑?


    PS:lz目前大二学生,想往运维发展,有什么好的建议不?
    32 条回复    2015-02-26 14:31:27 +08:00
    vzch
        1
    vzch  
       2015-02-23 15:06:44 +08:00
    kodango
        2
    kodango  
       2015-02-23 15:27:52 +08:00
    基本上是 rpm 包,少数 java 应用可能会使用 tar 包。
    huatai
        3
    huatai  
       2015-02-23 15:41:37 +08:00
    生产环境即使需要自定义(编译)安装,也会尽可能制作成rpm包来部署。

    因为一个运维工程师面对的是数千或数万的服务器(或虚拟机)。

    现在兴起的Docker/CoreOS部署是另外一种运维架构,但也会以二进制方式完成部署,采用了Layer https://docs.docker.com/terms/layer/

    不知道有没有使用 Gentoo 来运行生产环境的?
    invite
        4
    invite  
       2015-02-23 16:02:54 +08:00
    生产服务器一般是不让你在上面编译的.
    ryd994
        5
    ryd994  
       2015-02-23 16:10:13 +08:00 via Android
    编译的话要装很多东西啊,生产装这么多是作死
    而且u no test?既然测试,一般都找一样的机器吧,那么反正都编译好了,就拿测试好的用,别作。
    bombless
        6
    bombless  
       2015-02-23 16:40:38 +08:00
    生产服务器一般是不让你在上面编译的+1
    msg7086
        7
    msg7086  
       2015-02-23 21:36:42 +08:00
    虽说源码base是一个,不过二进制包有千千万万其他人帮你测试,而你自己手工编译,你就是这份二进制的第一个吃螃蟹的人。
    zinev
        8
    zinev  
    OP
       2015-02-23 21:49:21 +08:00
    我自己目前来说最正式的一个服务器就是申请的免费试用的Azure CN,装的CentOS的一个变种,仅仅yum装了nginx、mysql-server、php-fpm、php-mysql这几个包,最后还是挂了,连SSH都上不去了,数据都取不回来
    pandada8
        9
    pandada8  
       2015-02-23 22:03:50 +08:00
    恩……手上的VPS两个Ubuntu一个Arch
    打算全部换成基于Docker的……这样基本就不用关心底层系统了
    一般来说除非有奇怪的依赖源里没有才会考虑自己编译
    我倒是很关心豆瓣使用Gentoo作为服务器系统的心路历程XD
    ryd994
        10
    ryd994  
       2015-02-23 22:12:01 +08:00 via Android
    @zinev 装几个包也能装崩掉,你这水平也是醉了。不要用个案证明整体
    zinev
        11
    zinev  
    OP
       2015-02-23 22:15:22 +08:00
    @ryd994 我刚想了想,不是因为那几个包弄崩的,应该是我手贱在上面sudo yum update && sudo yum upgrade
    ryd994
        12
    ryd994  
       2015-02-23 22:18:41 +08:00 via Android
    @zinev nonono,正常来讲这也是没关系的。我好几个私用VPS都是cron里放这个的。
    zinev
        13
    zinev  
    OP
       2015-02-23 22:29:48 +08:00
    haofly
        14
    haofly  
       2015-02-23 23:04:53 +08:00
    推荐用二进制,如果是编译,不仅浪费大量的时间,而且不方便多人共同运维,上次叫一个人帮忙搭个环境,结果发现编译的是一个非常老的版本,并且连他都不知道哪些东西放在哪儿了。。。
    frankzeng
        15
    frankzeng  
       2015-02-23 23:09:45 +08:00
    正式的生产环境是不可能用编译方式的,都是在一台机器上编译完成后把二进制文件往其他机器上复制,
    所有的机器的操作系统都是一样的,库文件也一样,只要在一台机器编译完成后就可以随便往其他机器上复制,如果有1000台以上的服务器,更换文件都要有多台分发的方式上线,不然上线非常漫长,等到你想吐。
    O21
        16
    O21  
       2015-02-23 23:23:41 +08:00 via iPhone
    你在生产服务器编译会造成大量资源占用的
    branchzero
        17
    branchzero  
       2015-02-23 23:50:22 +08:00
    编译不便于维护,节点少还好说,如果手头有一大票节点要维护就悲催了。
    而且有时候编译会遇到不少的坑,排错又会花掉你一大票时间。
    onlyice
        18
    onlyice  
       2015-02-23 23:56:33 +08:00 via Android
    有人像我司这么奇葩吗?现在其他机器上编译成二进制,再打包上运维系统,分发到机器上。。
    snnn
        19
    snnn  
       2015-02-24 00:15:24 +08:00
    哥们儿,如果你才大二,好好学Python/Java/C++吧。也许你毕业的时候,运维就不存在了…… 因为运维做的事情越来越多的被自动化了,人工参与越来越少,职位需求量越来越少。
    phoenixlzx
        20
    phoenixlzx  
       2015-02-24 00:52:16 +08:00
    @snnn 所以运维的事情不就是在编写这些自动化的东西吗...
    Mars
        21
    Mars  
       2015-02-24 03:00:06 +08:00
    别编译了。。。太费时间,如果服务器多的话,累死你。。。现在的服务器性能都很强,编译出来的东西,性能优势不明显。
    Twinkle
        22
    Twinkle  
       2015-02-24 03:37:51 +08:00
    感觉二进制没啥不好,当然就我的使用程度来讲,看法可能还是非常肤浅的
    ryd994
        23
    ryd994  
       2015-02-24 07:55:48 +08:00 via Android
    @onlyice 我认为这很合理,集中管理
    onlyice
        24
    onlyice  
       2015-02-24 08:58:07 +08:00 via Android
    @ryd994 如果编的是 Apache, Python, MySQL 这种东西呢?生产机器上连个包管理系统都没有,这些基础的包都要自己编译,相当要命
    zent00
        25
    zent00  
       2015-02-24 09:03:18 +08:00 via Android
    @snnn 编写这些自动化程序的人,还有监控这些程序是否被正确执行的人,以及发现异常后来处理的人是谁?依旧是运维。虽然现在有一种岗位叫“运维开发”,但其核心工作内容还是围绕着“运维”这件事。
    hitsmaxft
        26
    hitsmaxft  
       2015-02-24 09:56:47 +08:00 via iPhone
    生产环境是发布最终代码的地方。自然是用语言规定的最终格式。编译在编译机器上搞定,不是运维人员的范畴。
    ryd994
        27
    ryd994  
       2015-02-24 14:16:24 +08:00 via Android
    @onlyice 犯不着吧,生产服没包管理这也太……
    没特殊原因的话这可以说是作
    AstroProfundis
        28
    AstroProfundis  
       2015-02-24 14:37:01 +08:00
    内网自建软件源,专用服务器打包过后放到源里面,需要的机器自己从源安装,本质上还是二进制分发
    julyclyde
        29
    julyclyde  
       2015-02-24 19:41:40 +08:00
    一是编译慢,二是无法表达依赖关系,容易缺feature
    yangzh
        30
    yangzh  
       2015-02-25 17:29:10 +08:00 via iPhone
    @zinev 你这也是醉了,要不是服务器提供镜像有 bug,要不是你打开方式不对。
    dreamtrail
        31
    dreamtrail  
       2015-02-25 23:37:34 +08:00
    早就不自己编译了,维护起来太麻烦,依赖关系自己很难搞清楚。。
    JohnVon
        32
    JohnVon  
       2015-02-26 14:31:27 +08:00
    在一台机器上编译解决完所有依赖后打包,传输到目标机器s解压,设置path 目前是这样搞的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2784 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:39 PVG 21:39 LAX 06:39 JFK 09:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86