V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
eightqueen
V2EX  ›  问与答

互联网创业公司是不是偏向使用 Debian 系 OS?

  •  
  •   eightqueen · 2015-07-26 20:39:33 +08:00 · 6404 次点击
    这是一个创建于 3205 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我了解了一些近几年硅谷和国内的创业公司,基本没听到centos的名字,只有大公司和传统行业还在用。
    66 条回复    2015-07-28 09:11:42 +08:00
    zeacev
        1
    zeacev  
       2015-07-26 20:47:49 +08:00
    占个坑,目测这个帖子又有一场骂战,出售瓜子花生小板凳啊哈哈
    wy315700
        2
    wy315700  
       2015-07-26 20:52:17 +08:00
    花生啤酒矿泉水
    cxshun
        3
    cxshun  
       2015-07-26 20:53:15 +08:00
    我们是用debian系的,但以前(UC)有redhat,centos和debian,都有。其实选哪一个主要看技术人员的熟悉程度,但话说反正都是SSH上去,基本只是包管理apt-get和yum的区别罢了,其他真的相差不大,所以无所谓啦。
    maemual
        4
    maemual  
       2015-07-26 21:36:34 +08:00
    ls +1
    完全就看运维对哪个熟悉。大部分互联网公司根本用不出来这两个系统的区别。
    qiayue
        5
    qiayue  
       2015-07-26 21:39:13 +08:00
    之前用 ubuntu ,现在用 centos
    依大多数创业公司的流量水平,随便什么系统都没问题吧
    johnsmith123
        6
    johnsmith123  
       2015-07-26 21:44:47 +08:00
    我了解的大公司和传统行业,基本上没听过Debian的名字,只有一些硅谷和国内创业公司不想请运维,开发随便装个阿里云ubuntu什么的就以为会Linux了。 求喷。
    ck65
        7
    ck65  
       2015-07-26 21:50:37 +08:00 via iPhone
    如果是我带项目,很有可能是 debian。但,一定是 utf-8。

    然而我并不是带项目的。。
    redsonic
        8
    redsonic  
       2015-07-26 22:19:07 +08:00   ❤️ 1
    以下debian fan勿喷。公司之前用debian,很多运维工程师在发现库依赖时大多用apt-get安装deb无脑一路next,实际结果相当于debian6升到了debian7 ,没错版本还是6,但很多东西都是7的了,导致很多依赖的库版本变更,这样开发人员根本不知道客户的环境是什么,最后没办法了,开发人员竟然要自己登录到客户的环境去搞一番,弄得大家都怨声载道。后来换了rh,开发人员主动把运维的运行时环境定了统一标准,遇到依赖的库(直接或间接的),都提供RPM给他们,rpm -Uvh * 无脑操作,从此大家都相安无事。
    我的经验就是 开发部门能够主导运维工作的可以选debian,或者资深的系统工程师带运维,否则还是rh系的省心。
    49
        9
    49  
       2015-07-26 22:24:11 +08:00   ❤️ 1
    被兽兽从RH阵营拉到了Ubuntu阵营。
    Pia!▼(o ‵-′)ノ★!⊂▼(o ‵-′)ノ彡★))д`)
    Tink
        10
    Tink  
       2015-07-26 22:34:37 +08:00
    热闹
    johnsmith123
        11
    johnsmith123  
       2015-07-26 22:36:12 +08:00
    LZ好大的口气,“只有大公司和传统行业还在用。”
    那你还想让谁用,不要笑死人了。
    这种求喷的真是。。M?
    ifishman
        12
    ifishman  
       2015-07-26 22:37:56 +08:00
    @redsonic
    然而debian也可以:dpkg -i *.deb

    请不要打我
    eightqueen
        13
    eightqueen  
    OP
       2015-07-26 22:41:18 +08:00
    @johnsmith123 想让创业公司用啊,你喷吧
    zhuang
        14
    zhuang  
       2015-07-26 22:44:55 +08:00   ❤️ 2
    用什么系统不是问题,某些系统相对来说更容易解决某些问题。

    至于某些“企业”发行版,多数时候并不是买的企业服务,而是买的硬件于是搭配了对应的企业版系统。



    放到现在,多数虚拟化都转移到容器一层了,选什么系统真就不重要了。

    (说句题外话,目前 docker 的后端系统官方选择是 aufs 文件系统,而 aufs 并不在 kernel 3.x 的稳定分支上,而是以第三方补丁集合的形式存在,kernel 4.x 确实集成进了 mainline 但只是 latest 分支而非 stable 分支。所以需要 docker 虚拟化的多数要自定义内核。而主流发行版里,提供官方集成 aufs 内核源的……似乎没有,Gentoo 算一个吧,但是 Gentoo 应该不算主流发行版……)



    过去的话,无论哪个发行版都面临一个问题,运行时和依赖的一致性。相对来说,Gentoo/NixOS 解决这个问题更优雅一些。主流的发行版在这方面几乎都比较坑。

    还是以前面 docker-aufs 为例,既然官方不提供,那么运维的工作就是,拉个官方高版本 kernel 回来,去 aufs git 源拉补丁回来。编译并启用,一切很美好。

    但是等过两天,由于业务需要,运维需要在新机器上部署同样的系统。但这时候你再去拉同样的内容时,它们的版本很可能发生了变化。你可以完全忽略这种差别,但是不同机器上的运行时依赖,甚至是你部署的应用本身,都已经发生(二进制)变化了。

    也许你觉得我可以拉取某个特定的内核版本,打补丁时追溯某个特定的 git commit,但这并不足够。你的工具链系统可能随着系统的更新而变化,多数发行版的 stable 只是更新比较慢并不代表不更新,更何况很多时候需要及时部署安全补丁,在源一致的基础上,工具链和依赖也要保持一致。
    johnsmith123
        15
    johnsmith123  
       2015-07-26 22:48:57 +08:00
    @zhuang 优雅? 高版本kernel? 容器? 一切很美好? kernel4.X? 忽略版本差别? 内核版本打补丁遵循git commit?
    卧槽 运维到底在跟什么样的一群人在战斗?
    crazycen
        16
    crazycen  
       2015-07-26 22:51:55 +08:00 via Android
    linux不都是一样的么?
    viator42
        17
    viator42  
       2015-07-26 22:52:31 +08:00
    debian的软件包比centos的要全,很多东西用不着自己编译.稳定性来说他俩基本一样.选择的话当然选简单的那个.
    redsonic
        18
    redsonic  
       2015-07-26 22:54:09 +08:00
    @ifishman 不会打了, 交流一下经验而已。 dpkg -i *.deb 如果遇到依赖过不了 ,大部分人都该用apt了吧,真的,debian的apt或者说deb做得比yum、rpm好,好到可以一路next解决所有依赖,但不是所有人都知道这其中发生了什么。yum只要不是upgrage 环境不会有大的变化。如果yum都解决不了的问题交给开发人员去解决更好,比自己私下用apt“搞定”要更透明、可控,起码日常的文档里面我知道我要怎么去记录。以上都是基于运维开发成本及公司的水平来看,除此因素之外应该都一样。
    LazyZhu
        19
    LazyZhu  
       2015-07-26 22:56:21 +08:00   ❤️ 1
    又来这种日经贴?
    系统用得如何最终在于人,不过Debian网上资料多,遇到问题容易解决(参考我以前发过关键词搜索结果)
    而且Linux服务器数据统计也是这样:
    http://w3techs.com/technologies/details/os-linux/all/all
    http://w3techs.com/blog/entry/debian_is_now_the_most_popular_linux_distribution_on_web_servers


    另外, 又可以block一些无脑喷子了,比如5楼.
    johnsmith123
        20
    johnsmith123  
       2015-07-26 23:00:00 +08:00
    @LazyZhu hhhh 笑而不语,所以说外行始终是外行。
    我有足够的理由反驳你的每一句话(除了最后一句)。
    zhuang
        21
    zhuang  
       2015-07-26 23:07:29 +08:00
    @johnsmith123 你这一堆问号描述了什么问题?你真就以为这是运维水平的问题?

    对于运维来说,一个终极问题就是,怎么构建 bit-perfect/deterministic/reproducible 的系统。

    Debian 什么情况?Debian 目前有个仅仅有个试验性质的系统,还不具备 determinism 的性质。换句话说,基本不可用。其他发行版也半斤八两。

    别说操作系统这个级别,就是 chromium/firefox 这种,都很难保证二进制的一致性。
    johnsmith123
        22
    johnsmith123  
       2015-07-26 23:45:52 +08:00   ❤️ 2
    @zhuang hhh debian试验性质 其他发行版半斤八两?
    二进制一致,你真的知道二进制是啥吗?
    换句容易的理解话:"你知道什么是运维吗?"
    一致还不容易? 一样的发行版,一样的命令不就好了。

    给你解释下吧
    1.“优雅”:我头一次看到有人用这种方式比较发行版,很有想法。

    2.“高版本kernel”:如何安装?你还真以为一个git能搞定啊?安装后已存的各系统的依赖关系绝大部分会出问题,代价超高,谁负责?至于4.X和gentoo,你如果只提到gentoo,我认为你是大牛,因为据说所知,国内能用gentoo只有一家。但是你提到了4.X。简直就是瞬间暴漏了你对运维的无知。而且

    3.你不知道现在的docker对运维来说是灾难吧?这可不是说运维会因为docker失业,而是docker本身就是。。咳咳。而且,你有读过所有docker的官方文档吗?你知道docker底层是依赖什么实现的吗?(这里有些卖弄了),你真的知道什么是虚拟化吗?总是有些人认为docker能解决所有问题而认为运维是万恶之源,对于理想主义者我只能呵呵。

    4.而且忽略版本差别这种话还说的出来,在linux下一个版本依赖能搞死你。

    理想主义者就继续做梦吧。反正没你们什么事,服务器挂了网络抖了服务挂了都怪运维就是了。切。
    scys
        23
    scys  
       2015-07-27 00:11:40 +08:00
    这种已经是日经贴了?
    我挺喜欢看这种帖子呢。
    现在有个经验丰富的人推荐我考虑centos,理由是更加稳定。嗯?我对此表达最大的怀疑
    然后说一句经典名字“依赖都是自己编译的”。

    然后我在想,为什么大企业自己不弄一套发行版行了?依赖自己解决,自己测试然后发布给服务器统一升级?
    scys
        24
    scys  
       2015-07-27 00:12:19 +08:00
    @scys 经典名字-》经典名句,自己逗自己了。
    johnsmith123
        25
    johnsmith123  
       2015-07-27 00:18:21 +08:00
    @scys :)
    sinxccc
        26
    sinxccc  
       2015-07-27 00:19:39 +08:00
    @scys RH/CentOS 走的其实就是这个路子,只要大版本对得上,系统和基础库基本就没什么差别,企业只要管好自己的东西打一个或者几个大 rpm 给客户就行了。
    redsonic
        27
    redsonic  
       2015-07-27 00:20:28 +08:00
    @scys “ 依赖都是自己编译的 ” +1
    webjin
        28
    webjin  
       2015-07-27 00:22:08 +08:00 via Android
    @johnsmith123 +1 我在很多机房待过,用debian很少很少,用centos最多,其次ubuntu,虽然u是基于debian再发行,但是已经改的很多啦。其次是redhat再次是suse
    johnsmith123
        29
    johnsmith123  
       2015-07-27 00:22:39 +08:00
    都是些站着说话不嫌腰疼的人。跟你们解释了这么多感觉就是对牛弹琴。
    B了算了。
    datocp
        30
    datocp  
       2015-07-27 00:27:59 +08:00 via Android
    玩linux就是折腾,2006年时还在玩打包,不同发行版,各自的包工具,玩得真心累。到最后还没跟对主流桌面,算了还是用windows吧,省心。
    这些年都是在线更新,不大会有人再去编绎软件了,依赖是很麻烦的事情。最终选了centos,据说是商业化软件支持更好。跟动主流很重要,没时间瞎折腾,重新布署。
    scys
        31
    scys  
       2015-07-27 00:29:59 +08:00
    @sinxccc 情况可能有点不同,你说的是发布出去的软件,附带的依赖关系解决,这种解决方式你说的我感觉是最正确的解决方式了。

    而我表达的是,比如一个公司内部几百台服务器要管理,我想法是可以推行一个自己根据某个centos或者debian等等的进行定制化处理后的发行版本。

    其实两者我都用过一段时间,感觉centos操作繁琐,而且遇到大版本升级,总是解决不好各种错误
    debian我是一路乱飘都没有出现大问题,可能是自己环境小吧。

    @johnsmith123 其实我是来偷师的,看到些好经验尽量吸取:)哈
    johnsmith123
        32
    johnsmith123  
       2015-07-27 00:39:21 +08:00   ❤️ 1
    @scys 找一个靠谱的运维工程师多学学吧,这圈子实在是交流太少了,而且出来讲的人基本上都在吹牛,真是。。

    总而言之一句话:既然经验丰富的人让你用CentOS,你就好好用就是了,这职业吃的是经验,好好的经验你不用,瞎想什么,操作繁琐是你技术不够,别怀疑了。

    以此为界,B了。
    sinxccc
        33
    sinxccc  
       2015-07-27 00:44:01 +08:00
    @scys 发布给外部客户和内部客户没有区别吧…我的理解是,即使是公司内部的几百台服务器,最终也是应该是在一台机器上打包,然后通过内部的 repo 或者 rsync 之类的工具分发到目的服务器上的。如果是很大的企业内部的话或许有更专业的软件干这个事情。

    CentOS 的跨版本升级一直到最近的 6->7 才支持的,渣是正常的。我觉得大部分跑 CentOS 的服务器也没考虑过跨版本升级,用到 RH 的支持周期结束,硬件也就该换了…
    redsonic
        34
    redsonic  
       2015-07-27 00:56:35 +08:00
    @sinxccc 个人觉得外部客户和内部客户区别比较大的地方在于运维工程师对系统的可访问性,对于外部客户而言如果包发出了,出了问题后的排障要比内部的麻烦得多,而且还要付出一些预料之外的成本。沟通能力差的工程师往往不擅长对外适宜,这点需要考虑到。
    qw7692336
        35
    qw7692336  
       2015-07-27 01:57:43 +08:00
    大概因为创业公司没有很专业的运维,平时熟悉的linux桌面版就可以当服务器用了
    liuchen9586
        36
    liuchen9586  
       2015-07-27 02:26:42 +08:00
    吵什么啊,不是根据环境来的吗
    要是跑Oracle数据库什么的绝对用RH,你跑APP用debian或者ubuntu还更方便点
    msg7086
        37
    msg7086  
       2015-07-27 04:48:40 +08:00   ❤️ 5
    这都能吵起来wwwww

    用Deb系还是RH系完全是看需求和用途。

    比如开发的系统如果是特别依赖运行环境的,比如大公司的大型系统,各种C/C++系统,各种Java系统,各种Oracle什么的,脆弱的要命的设计,升个软件就能搞挂的,那当仁不让用RH了。
    比如大家用得滚瓜烂熟的Centos6系,那可是5年前就冻结了的发行版,里面的版本可能更早,对于程序员和运维来说,这5年根本不用学新知识新技术,也不用升级或者适配,吃吃老本就行了。反正官方维护到2020年,还可以再吃5年老本,减轻程序员和运维负担。

    比这个稍微好点的是Ubuntu,也是适合各种老系统的。我们公司就是用的这个,12.04LTS,我们的软件脆弱的要死稍微升级个包版本就可能把软件弄挂掉。缺点是Ubuntu的支持期太短,没多久就停止维护了,于是公司里一大波人被迫研究怎么迁移到14.04LTS去,痛苦万分。

    Debian就是完全另一个风格。提倡尽可能用系统软件包而非自己编译;就算自己编译也是打包成deb包,让包管理解决依赖。生命期里软件版本冻结,但是可以跨版本更新,比如Deb6升级到7,或者7升级到8,都是可以的。对于开发人员也可以轻松改用rolling update版本开发,提前应对升级带来的影响。
    依赖Debian系统的软件,必须要能自行解决依赖问题,又或者必须不依赖系统环境。现在很多初创公司,为了尽快做出产品,加快开发速度,必然会选用一些很新的平台与技术,比如Docker,比如Go,比如RoR,比如PHP,比如Python,比如Scala。这些东西有个共同的特点,那就是降低了平台依赖性,到处都能跑。既然到处都能跑了,那放着性能更好软件更新的发行版不用,去用5年前的系统做什么。创业公司必须活在未来,而不是活在古代。

    另外楼上一票在说运维问题的。RH系运维难度比Deb系大很多。公司招人起码也得找个RHCE吧。这年头一个跑Go或者PHP的Debian运维如果开价80-100k的话,一个同等级的RHCE运维至少120k-160k。对于一些创业公司来说两个系统跑起来根本根本没差(特别是Docker以后),每年多花5万刀去体验RH/CentOS这是有蛇精病啊。(甚至稍微有点能力的开发工程师都可以兼职Deb运维,那还能省一笔钱。)
    倒是如果拿到很多风投以后,甚至上市以后,能培养起运维团队了,再换CentOS倒也是可以。只不过你都换RH系了,为啥不直接上RHEL订阅?
    unionx
        38
    unionx  
       2015-07-27 05:42:26 +08:00
    Docker:来吃我一 Container!
    echo1937
        39
    echo1937  
       2015-07-27 07:03:18 +08:00
    @msg7086 RHCE现在满大街都是呢,不存在更贵的问题.
    zent00
        40
    zent00  
       2015-07-27 07:23:03 +08:00 via iPhone
    楼主不要直接下定论,比如 Facebook 当初也是创业公司,一路用着 CentOS 过来的。
    geeklian
        41
    geeklian  
       2015-07-27 07:40:26 +08:00 via iPhone
    日经贴.....
    传统行业的运维表示现在根本不在乎啥系统了。乙方交付的都是vmware虚拟机镜像,我们只管导入开机。
    vietor
        42
    vietor  
       2015-07-27 07:50:30 +08:00 via Android
    CentOS7以前简单直接,对7很不舒服
    msg7086
        43
    msg7086  
       2015-07-27 08:15:11 +08:00
    @echo1937 还是会更贵的吧。
    echo1937
        44
    echo1937  
       2015-07-27 08:38:49 +08:00
    @msg7086

    从我招聘的遇到情况来说,RHCE更好找,也更便宜。debian目前为止似乎就没有认证的培训和考试,与之最接近的LPIC Ubuntu199国内几乎很少培训点和考试中心。


    有人可能要喷,培训和认证那都是渣渣,毫无用处。诚然,职业培训教育有其优点也有其缺陷,但的确能增加受训人员的平均水平,就比方大学教育也有其优点和缺陷一样,因为其缺点而一竿子打翻,和”反智“也没什么差别。
    msg7086
        45
    msg7086  
       2015-07-27 09:02:04 +08:00
    @echo1937 因为Debian更偏向于社区而RH更偏向于企业用户么?
    feikaras
        46
    feikaras  
       2015-07-27 09:03:50 +08:00
    lz看起来很外行。。。
    feikaras
        47
    feikaras  
       2015-07-27 09:05:33 +08:00
    因为ubuntu那边软件更新。centos太旧已经造成用户群的区分了。。
    keithsliu
        48
    keithsliu  
       2015-07-27 09:23:49 +08:00
    我呆的两家都是centos啊 为啥我了解的用centos的好多
    eightqueen
        49
    eightqueen  
    OP
       2015-07-27 10:06:03 +08:00
    @feikaras 我是lz,没错我很外行,所以才问了这个问题.
    eightqueen
        50
    eightqueen  
    OP
       2015-07-27 10:06:47 +08:00
    @geeklian 这个问题针对的不是传统行业,而是创业公司.
    eightqueen
        51
    eightqueen  
    OP
       2015-07-27 10:09:48 +08:00
    @msg7086 终于碰到个认真回答问题的.赞
    Tiande
        52
    Tiande  
       2015-07-27 10:12:31 +08:00
    @msg7086
    ((( ;゚Д゚)))
    变态话痨,早上五点都能码这么多字。
    真想再多点几个赞!

    @johnsmith123
    有种 舌战群儒 的感觉。

    看你们争论就又默默记了点东西 ;)
    huijiewei
        53
    huijiewei  
       2015-07-27 10:21:49 +08:00
    这种都能争论,你们得多闲啊,用个 CentOS 都能有优越感,你看哥用 LFS 也没装那么大的x呀
    scys
        54
    scys  
       2015-07-27 10:42:20 +08:00
    早上回头看看,好多人都是半夜不睡觉的。。。难道是时区不同?!
    ~
    吃老本就是运维的一大特色,嗯嗯
    引入新东西,会引起新问题~难道能不引入?
    msg7086
        55
    msg7086  
       2015-07-27 10:43:41 +08:00
    @dtdnqsb @scys 下午5点毫无压力
    Tiande
        56
    Tiande  
       2015-07-27 10:52:16 +08:00
    @msg7086 原来活在另一面 -、-
    lty1993
        57
    lty1993  
       2015-07-27 11:32:40 +08:00 via Android
    你们这让跑Solaris的情何以堪
    BOYPT
        58
    BOYPT  
       2015-07-27 11:37:29 +08:00
    瓜子汽水扑克牌 西瓜香蕉方便面
    mulog
        59
    mulog  
       2015-07-27 11:50:44 +08:00
    后排围观
    xjl
        60
    xjl  
       2015-07-27 12:06:08 +08:00
    大便没用过 一直用centos 包括vps
    LazyZhu
        61
    LazyZhu  
       2015-07-27 13:55:29 +08:00 via Android   ❤️ 3
    @msg7086
    最后两段直接道出了CentOS的尴尬地位,市场份额的持续下降的原因,要么直接RHEL订阅,要么社区支持更好的Deb系。
    10多年前,Debian还没流行起来,国内外服务器上提供的系统大都是CentOS,那时候GFW不存在。直到2012年,Debian 6经过两年的发展,国外十分流行,但是由于GFW的存在,因为Google访问不了,百度又搜索不到解决方案,阻碍了Debian在国内的推广,再加上某些只满足于现状的人的阻碍,导致了CentOS/Debian在国内外完全不同的分布的情况,很有中国特色,直到现在有些机房都只提供CentOS,很多老外就问过我这个问题,还猜测是不是硬件定制过,只能用CentOS...
    KexyBiscuit
        62
    KexyBiscuit  
       2015-07-27 15:04:57 +08:00 via Android
    Windows Server 路过(闪电逃
    fengyqf
        63
    fengyqf  
       2015-07-27 18:57:22 +08:00
    @KexyBiscuit 围观。。。

    其实我也搞win,同时也centos
    oska874
        64
    oska874  
       2015-07-27 19:17:22 +08:00
    感觉和第一个引进linux 的人的习惯有关系,像我们开始是centos,后来到我就硬扳回ubuntu,我走了之后好像又成fedora 了。
    ps:我们只用linux 来开发。
    bigcoon
        65
    bigcoon  
       2015-07-27 19:28:25 +08:00
    哎,程序员真辛苦,什么事都能打起来。。
    Halry
        66
    Halry  
       2015-07-28 09:11:42 +08:00
    @ifishman 我当时就是看到dpkg太复杂,就立刻把ubuntu换回fedora:)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   813 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 19:57 · PVG 03:57 · LAX 12:57 · JFK 15:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.