如何說服運維選擇 Debian/Ubuntu 而不是 CentOS?

因為本題火藥味太濃,所以新建了一個中立的問題:Debian、Ubuntu和CentOS哪一個發行版運維成本最低? - Linux

====================

2015-04-01 更新

我覺得這還是和看問題的角度和價值觀有關係。更多的,我是希望站在技術團隊整體的角度來看這個問題,而不是站在開發的角度看運維的問題。而且在職責上我認為我是有權過問的。

價值觀上的區別:很多人認為「穩定」最重要。而我認為「敏捷」最重要,而「敏捷」能帶來穩定。運維也不是讓你把伺服器部署好沒事閑在那,運維工作也是要持續改進的。

但現在大家看問題的角度,甚至開發人員的角度都是:「運維工作我們要尊重運維的意見」。而我認為的邏輯是:「運維工作應該為技術團隊提供敏捷靈活的基礎設施服務以及相關技術支持」。我心裡已經有答案了,用Docker。但是假設Docker不存在的情況下,我還是想繼續討論一下這個問題。

我的確瞧不起那些「不懂裝懂」的運維,但對於真正有能力的運維,我絕對是尊重的。順便說一下我也很鄙視「只會使用一種編程語言」的程序員,尤其是java程序員。

對於那些還在堅持說「開發不應該管運維的事,運維應該用自己熟悉的發行版」的人,我感覺你們的職業生涯快到頭了。對於那些堅持說 CentOS、Redhat比Ubuntu好的人卻不能說出理由,援引案例,只是一味的恐懼、擔心,所以要待在自己的舒適區的人,我感覺真的是有問題的。

對於那些說Linux都一樣的人。好吧,看來我們對「都一樣」的定義不同。

問題不是我不能接受CentOS,而是各位運維大爺很鄙視Ubuntu。我們真的有嘗試去接受CentOS,但是太他媽難用了,我們真沒空在部署上花太多時間。

還有人說,大公司的運維制度,開發與運維的分工。開發完全不用碰正式環境,東西丟給運維就行了。事實真的是這樣嗎?開發真的不能、不需要、不會去碰正式環境嗎?有多少公司是在嚴格執行這種制度?這種制度在實際使用中行的通嗎?效率高嗎?有多少公司,運維實際上還是給了開發人員在正式環境的許可權的?

最後想說點事實,Ubuntu佔領了越來越多的市場份額,也不乏大公司使用,難道大家都瞎了嗎?

====================

2015-03-31 更新

我相信運維選擇CentOS或許有一定的道理,但我也認為那些道理都比較牽強。從各位運維大牛的答案上來看,貌似主要還是因為他們會用CentOS,也沒說出CentOS好處是啥。一副我們運維用啥你管不著的語氣,雖然貌似有點道理,但總有一種很心虛的感覺。

給了一個反對者贊,是因為他至少有條理的反駁了我的觀點,而大部分的回答完全沒有說出一點靠譜的理由的,就是在說你的理由不充分,所以我的理由就充分了。至於說可以在測試環境玩ubuntu的就謝謝了,不用你教。我們現在討論的就是正式環境。

====================

本人開發,喜歡用ubuntu server,但我遇到的運維清一色的都要求用centos。問他們為什麼,他們也說不出個所以然來,只是說ubuntu不好,問題很多,口氣反正是挺嚇人的。主要觀點無非兩點:

1. 安全性。CentOS比Ubuntu安全。

2. 穩定性。Ubuntu更新太頻繁,沒有CentOS穩定。

而我認為應該用Ubuntu的原因主要是:

1. 更新及時。有些基礎工具CentOS要比Ubuntu落後好幾個版本,對於喜歡嘗試新技術的開發者來說,逐個手動安裝依賴是個很痛苦的事。

2. 資料豐富。遇到什麼問題,在網路上比較容易找到答案。

3. 社區支持。因為Ubuntu社區龐大,有些工具雖然沒有在apt源收錄,但是基本都會提供Ubuntu下的安裝過程。

綜上,我認為使用Ubuntu的運維成本更低。

補充:

之前的標題表達不夠準確,我主要指在新項目啟動時的發行版選擇,而不是對既有穩定運行的伺服器的發行版選擇。

發現沒幾個認真回答的。我和運維溝通的時候也是這個狀態,愛搭不理的,拽的很,完全沒有團隊意識,生怕別人觸碰了他的領地。

還有建議用權利手段進行脅迫的,也是夠了。選擇一個OS而已,不至於。我就想知道開發和運維有沒有可能好好聊天?能不能真正的說出些靠譜的理由來,不要用職位來說事。我如果想把某個運維fire了也不是辦不到,但是至於嗎?我只是想以理服人。


同意 @李道兵 的「切換髮行版代價太大」。

運維可不只是裝軟體,從機器採購、裝機、預配置環境、錄入 cmdb、監控、業務部署、回收或者專用其他,這整個生命周期已經全部自動化了,如果要切換一個發行版,需要全部適配一遍,這還不包括換髮行版之後不兼容的東西,比如自己維護的內部軟體倉庫之類。

那麼,重新換一遍之後帶來的收益是什麼呢? 穩定?靈活?

如果換帶來的收益不是遠大於(換帶來的成本+不換帶來的損失),還是歇歇吧。

我們就碰到過要求換線上發行版的,理由是現在用的不穩定,換一個穩定的、文檔多的。我給的要求的拿出詳細的穩定性報告,證明要用的的確比現在的穩定。才考慮換。

悶頭拍腦袋就要換,就好像運維找開發說,PHP 部署起來比 C、Python 什麼的方便多了,以後不准你們用其他語言寫業務,只准用 PHP,樓主你會同意么?

沒錯,我們用的是 Ubuntu,開發們想換 CentOS,要我說,換 CentOS 不如換 Redhat,然後買服務。


作為一個苦逼運維,我們作為服務部門,如果開發大爺們真對os有特定要求,那是一定要滿足的;

但是前提是你的要求是合理的~

題主說的幾點,我隨便代表你們運維回你幾句:

1.更新及時:生產環境首要是穩定,你要用最新版可以,說個用最新版的理由先,沒有這個特性你代碼就寫不下去了?或者有了這個巨NB的新特性,我可以少造1000個輪子,開發效率提升100%?

2. 資料豐富。都是linux,資料基本共通的,這個理由是個什麼鬼?

3. 社區支持。同2

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

為什麼我要匿名呢,因為我要開始不友善的攻擊樓主了

lz你待的是小公司吧,你們公司生產環境和測試環境不分的么?測試環境你愛用Ubuntu就ubuntu,愛怎麼折騰怎麼折騰,運維都懶得管你;

至於生產環境,你管得著么你?你是開發,你只要提需求,運維評審後,理由充分,有什麼不給裝的?至於生產環境用啥os,和你一個開發有個毛線關係?生產環境不是為了滿足你追求新技術的地方!

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

老實說,題主你描述的越多,顯的你水平越low啊,因為你們公司的運維水平太low啊,一家公司的運維水平和開發水平明顯正相關啊;

運維的價值體現在裝軟體?「Ubuntu太簡單了,如果大家都用Ubuntu,運維的價值無法凸顯,運維就是要把系統弄的不那麼方便才「安全」」這句話我簡直無力吐槽

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

明顯 @Strong Liu的答案比我說的更好更細緻;

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

補充幾點:

1.選os和選ide差不多,弄到最後就上信仰了要,完全沒必要;

我作為一個運維,用過centos,suse,debian,slackware;

同代次的發行版的差異明顯沒有造成工作量上的巨大差異,倒是發行版的大版本升級,反而會帶來業務改造的工作量

2.開發和運維明顯是合作關係,大家平時相互體諒下,都是為了工作;另外在某些開發鄙視運維什麼都不懂的時候,運維也許也在私下裡傳「那個XXX,平時叼的很,指手畫腳,結果代碼上線,三天兩頭core,天天到我這裡gdb;沒上線前要我們裝這裝那,結果測試和我說tps簡直感人」

尊重他人也是尊重自己

3.作為運維,裝軟體真的只是日常工作中很小的一部分;難道作為開發,裝軟體佔據了你大量的工作量?大家都有太多的事,何必在這種普通運維和開發都沒有決策權的事上,非要掙個一二三?


少俠我見你骨骼精♂奇,為啥不用 Arch? 運維成本照你的說法更低。

1. 更新及時。有些基礎工具CentOS要比Ubuntu落後好幾個版本,對於喜歡嘗試新技術的開發者來說,逐個手動安裝依賴是個很痛苦的事。

我大 Arch 滾動升級,基礎工具保證永遠是最新的,Ubuntu也敢說新?不用 Arch / Gentoo 你好意思說『喜歡嘗試新技術』的開發者?

2. 資料豐富。遇到什麼問題,在網路上比較容易找到答案。

少俠我見你越來越與 Arch 投緣了。眾所周知 Arch 沒啥其他優點,就TM文檔多,出問題保證能自己搞定。Ubuntu社區的資料很多都是『A出了xx問題?沒關係,你只要把B刪了就沒問題了。』至於B是幹啥用的,誰 care?

3. 社區支持。因為Ubuntu社區龐大,有些工具雖然沒有在apt源收錄,但是基本都會提供Ubuntu下的安裝過程。

Arch 社區更加龐大,質量也高。pacman 能下的用 pacman 下,pacman 下不了的用 yaourt 下。再下不了的就不下了,反正野路子下載的東西滾動升級後很可能會出問題……所以壓根不用提供什麼安裝過程。

綜上,我認為使用 Arch 的運維成本更低。

你想用 Ubuntu 替代 Centos, 你咋不用 Arch 呢?


而我認為應該用Ubuntu的原因主要是:

1. 更新及時。有些基礎工具CentOS要比Ubuntu落後好幾個版本,對於喜歡嘗試新技術的開發者來說,逐個手動安裝依賴是個很痛苦的事。

2. 資料豐富。遇到什麼問題,在網路上比較容易找到答案。

3. 社區支持。因為Ubuntu社區龐大,有些工具雖然沒有在apt源收錄,但是基本都會提供Ubuntu下的安裝過程。

綜上,我認為使用Ubuntu的運維成本更低。

第一點只是說明了對開發者的好處, 並不能得出"使用ubuntu的運維成本更低"的結論.

第二點, 先不提究竟哪個發行版資料豐富, 這兩個不是都是linux么, 具體的linux相關的資料都是一樣的啊, 當然如果先用了ubuntu, 並且也按照ubuntu特定的東西去找的花, 肯定是這個的資料多了啊, 另, 試試找英文資料....., 最後, centos對運維來說已經有很完善的資料了, 所以這一點得不出"使用ubuntu的運維成本更低"

第三點, 有哪個特定常用的東西沒有fedora/centos的支持么? 非要舉出特例的話自然另當別論了, 不過籠統的講, 也得不出"使用ubuntu的運維成本更低"的結論吧

事實上, 樓主忽略了最重要的問題了感覺, 對於一個生產系統來講, 最主要追求的並不是"成本", 而是"穩定"

尤其是樓主提出的第一個原因, 恰恰是穩定的大忌的

這也是為什麼Redhat要在RHEL之外, 另外資助搞一個Fedora的原因, 就是為了讓一些新的技術/軟體, 先進入到Fedora的社區中, 等這些新的軟體經過了社區的檢驗, 迭代之後, 確保了穩定性之後才會進入到RHEL中的

因為老版本的軟體雖然沒有一些新的特性, 沒有特別fancy的效果, 但是, 畢竟經過了多年的實踐檢驗, 是切實可用的.

並且, 除了Fedora的試驗場之外, Redhat還有大量的QA員工來做對每一個RHEL的發布做大量的測試(最終都會進入到CentOS), 還有一個硬體兼容性的團隊來專門保證每個RHEL的硬體兼容性, 這些都是RHEL/CentOS作為一個生產系統的操作系統所必須的, 所有的這一切, 都是為了追求生產系統的穩定可靠.

Redhat內部是把團隊分成Project 和Product兩部分的

project的team就專門工作在開源社區, 自己搞自己的

product team則會基於某個project的release再進行測試(功能測試, 性能測試, 兼容性測試等), backport fix,文檔等工作, 最後作為產品提供給付費客戶

舉個例子, Hibernate 社區版發布了4.0, 但是產品化的hibernate並不會跟進的, 還會停留在3.5

等4.0的社區版經過了一段時間的用戶反饋(這個的反饋是很高效的, 因為社區中用的人很多, 社區的JIRA基本上每天都會有很多JIRA被open, 包括bug, 不兼容等等問題), 然後發布4.0.1, 再反饋, 再發布4.0.2, 再反饋, 再發布4.0.3

這時候, 經過了幾次的社區反饋加bug fix release的迭代之後, 基本上4.0這個大版本的問題就會都被發現了, 然後, product team就開始介入了, 他們還會有專門的QA再做更詳盡的測試, 然後按照不同的需求, 看是可以只做bug fix backport 還是需要把某些用戶需要的new feature也port到老的3.5上, 然後發布一個3.5.1 的產品

可以看到, 一個產品的艱辛誕生歷程.....

所以, 如果你們有足夠的人力和資源來對新的版本的軟體來進行足夠的測試, 並且再發現問題的時候有能力能自己fix(假設都是使用的開源軟體), 那麼追求新版本沒有問題(但是就不要說節省成本了, 這些是需要消耗大量成本的), 如果沒有這個能力, 還是老老實實使用別人的成果吧

注: 前Redhat員工


伺服器操作系統應該選擇 Debian/Ubuntu 還是 CentOS? - 信息技術(IT)


你是公司員工,公司僱員,就得聽話做事啊。 人家公司上千台伺服器(可能更多)用centos, 用了10來年沒出事了,積累了各種經驗、各種批量化腳本。用的好好的你要用ubuntu server, 當公司你家開的,全公司所有部門為你一個人爽來做事啊?你行你去當CEO啊。

他們用centos,裡面的各種坑踩了多少年了,各種漏洞也知道怎麼修復了。各種靜態依賴都有靜態包了。你要用ubuntu , 生產環境要求穩定跟可靠,不僅僅是centos穩定,而且是公司運維團隊在centos上的10來年工作也很穩定啊。要單單說穩定,freebsd、open solaris等unix系列也很穩定啊,甚至freebsd的性能超贊、自帶的zfs可以處理隨機讀很有優勢, ZFS - Wikiwand 。甚至whatsapp大量用了freebsd, 等facebook天價收購whatsapp後,whatsapp給freebsd捐款了很多。

要是可靠就等於可以大規模用,為什麼你們運維團隊不用freebsd? 那就是因為你們運維團隊在freebsd積累經驗不夠啊。

為什麼要用ubuntu server?如果是穩定 + 跟centos都是linux 很類似,遷移成本小。既然是ubuntu 跟 centos 很類似的情況下, 又為什麼要遷移到ubuntu serever呢? 很類似嗎,都差不多。

開發環境豈能說換就換,當然如果給你測試機讓你隨便搗鼓,你可以換ubuntu, 然後測試機也是centos, 也別罵娘了,測試機跟生產環境的機器很多故意弄得環境儘可能一樣,這樣方便點。

答主的文字看出答主真是linux小白或者沒入門啊,真正的成熟linuxer從來不糾結於版本、型號、os、IDE、瀏覽器、甚至編程語言的,都很謙恭溫厚、包容心強而且技術精湛。那些天天嚷嚷ubuntu、centos、archlinux、gentoo、suse 哪個好?php 5.2、5.3、5.4、5.5哪個好?python ruby nodejs 哪個好? Windows mac linux哪個好?rust erlang go哪個好?等等, 我覺得根本不是一個成熟的linuxer甚至連一個合格的開發者都有很長的一段路要走, 因為成熟的linuxer會發自內心的欣賞一切存在並且合理的事物,並且能區分他們的特點與優缺點,用在合適的地方。

我是個linux死忠。

我大三暑假在百度實習,他們當時大規模用的是rhel 5, 開發機測試機都是, python 是 2.3還是2.4,php 5.2, gcc默認 3.8還是多少來著? 當時測試機vim寫代碼沒有idea系列IDE那麼爽,我要掛一個ftp sftp類似的文件夾映射到本機來。由於百度的都是普通用戶,vsftp pureftp等好多ftp server裝不上,gcc 3.8的好多編譯不過,即使編譯過了,有的許可權打不開。我在我的Arch本機gcc 4.9下靜態編譯了pureftp 傳到開發機上,也不能用,因為glibc 太舊了。最後我沒辦法自己在開發機上編譯了gcc 4.9(後來才發現百度內部有一個叫什麼名字來的工具可以裝源碼最新的軟體的,白瞎我整了一晚上),然後當時我想自己寫了一個簡短夠用的ftp server,映射文件夾到我本機。這樣可以利用idea智能提示跟各種我耍的飛起的快捷鍵超爽。結果寫好的ftp 還是無法起效,內部的網關跟百度內部機器登陸需要RSA認證 跳2重登陸,基本無法按照我想的搞。最後還是用vim了。不過貌似用vim也不錯,沒啥很憋屈的,其實吧,適應跟取捨很重要的。沒辦法,吃人家飯的,得自己適應別人,不是公司適應我們。

我從大一一直用linux, 經歷過剛用linux.那段時間,覺得linux吊炸天各種吹噓linux、違心黑微軟等。 其實微軟的微內核跟linux的宏內核應該是各有優劣的。都實用。

我大學一直用的是opensuse, 有個server 被我裝的opensuse textmode。後來就一直用Archklinux去了。中間用過ubuntu deepin fedora debian freeBsd solaris(freeBsd solaris虛擬機體驗了一段時間)

我大二的時候,一個人幫我們院做了一個2萬行代碼規模的project, 最後也當了這個project的網管運維,在我們學校的網路中心管我寫的這個站點。 管了2年。網路中心給我的是一個獨立的server, centos6.3的,上面東西有點老。後面我自己編譯了我要用 php 5.5.9 + mysql 5.6 + nginx 1.7 + varnish, 都是源碼編譯的, 最後我又把 php5.5.9 換成了hhvm最新版, 速度提升明顯, 首頁包含7個mysql查詢, 首頁的QPS用總共200萬,2萬並發去壓測的時候 被我優化到了16800+,

起碼沒有崩, 估計有人問ab -n 200萬 -c 2萬 的事兒,ab默認不支持這麼大的, 這個ab是修改了ab代碼的, 可以開很大很大的。 這個壓測,是純 nginx + hhvm 的, 沒有帶上varnish 的。

首頁響應在30ms內(有時候7ms,不等), 在通常的並發下,因為我么院的官網,其實根據google analytics每天才600次的訪問吧, 但是還是可以杠到目前的訪問量*1000 倍的, 我做好了這個預估的。

我曾經很多次想把server換成我喜歡的 opensuse textmode, 或者archlinux(後來我一直用archlinux了), 或者debian、ubuntu server、再不濟換個fedora也行啊, 因為學校的centos 6.3還TMD 帶了桌面啊 這對於以前注重性能的我來說,簡直不能忍,裝桌面,是因為,他們配網路貌似只會在桌面下配置, 不過我喜歡用 ifconfig iwconfig 命令行配置。 貌似我們學校網路中心的linux伺服器只要是他們裝的都帶了桌面,簡直不能忍。而那天買好了伺服器,交接伺服器那天本來我跟他們說我自己去裝機,自己劃分磁碟做raid的,結果那天送伺服器的人來了,我上一門課的最後一節課,不去上的話基本這門課就掛了,我就去上課了,上完課等我衝到網路中心,他們已經裝好了。我就沒動了。 所以, 很多事兒, 其實都是各種陰差陽錯妥協的結果。

到後來,我把所有東西、環境部署優化好了。都做了比較多的測試。想想我編譯的東西,而且運行良好、安全可靠,我為什麼要換呢?吃飽了撐著了啊。而且就我用centos 6.3 生產環境2年多的經歷,也就碰到了大概2次出問題而我無論查log (我的安全措施做的很好,log每天定時切割備份,位置都是我指定的)、 看syslog還是各種查找都無法找到的。 基本就是人品問題,我當時找個好幾天把,後來學習要緊我還有很多事兒要做就沒管它了。 2年多隻碰到2次詭異的, 而且這兩次影響也不大, 一次是讓伺服器宕機了10分鐘我馬上弄好了, 一次是其實就是讓伺服器有點點卡頓, 問題不大。 其實有一次我差不多猜出來原因了,那是那個時候我用的 facebook 的 hhvm 是 github 最新版的 , 有點bug, 偶爾的時候上傳的文件會讓該文件的用戶組、用戶名 出問題,都變成了root , 而我的hhvm nginx mysql 都不是root用戶組,應該是這個bug。 最後我的做法是hhvm 跟 php-fpm 都開,nginx寫upstream裡面去,hhvm 的權重佔99,php-fpm佔1。最後我更新了最新的hhvm 貌似沒問題,我就把php-fpm關了。 另一個問題, 至今沒查出來,當是人品問題吧。我一個人管理單機server還是管理自己的項目,都有時候有人品問題, 我自己都不想換server, 你們公司運維比我的經歷複雜多了,肯定不願意換啊。

其實吧,你說你用ubuntu他滿足你了,明天另一個同事要用 slackware 也滿足了,後天一個同事要用 archlinux 也滿足了,再後天一個同事要用 freebsd、solaris、aix…生產環境一片混亂… 其實就純粹命令行下切過去用的話,差別真不大, 起碼是我可以忍的範圍內, 我自認以前也是個對環境、系統也很摳的人啦。

其實linux版本間其實差異真不大,主要是包管理系統跟庫的新舊程度、豐富程度。普通的包管理其實才幾個命令,一學不就會嘛。庫的話,不指望了,公司會統一升級、統一版本號的。一般會linux的, 是會linux 以及 linux提下下各種軟體生態、各種linux下必備技能的。不是只會ubuntu、只會centos之類的。

還是專註開發把,有意見可以提一下,但是別人和你商量你也要吸取他們的意見跟體會他們的處境。

確實不行,自己咽不下這口氣,去一個普遍用ubuntu server的公司,別去騰訊,騰訊用 suse 跟基於 suse 開發的內部 linux。百度是 rhel 跟我實習快走據說全部換 centos 了。其他的可能用ubuntu server 吧。哎, 運維的事兒無所謂啦。髮型版的事兒,是不能強求的,所謂吉人自有天相,做人嘛最重要的就是圖個開心, 千萬別委屈自己。

ps , 以上是根據我淺薄的經歷 來判斷的, 有紕漏的話歡迎指正,歡迎一切linux交流,我尊重一切os、linux發行版。沒有說ubuntu、centos或者其他發行版不好不好之類的 。最後, linux大法好。


1. 對於生產環境而言,「穩定」壓倒一切。程序員可以假定資源無限,運維人員卻必須要跟極其有限的資源環境做鬥爭。生產環境不穩定,消耗的是「時間」這一有限又寶貴的資源——業務等不起;

2. 「敏捷」應該是一種選擇,而不是目標。程序員頻繁發布版本是可以的,但哪個版本被選擇發布到生產環境,要測試和運維來把控;

3. 千萬不要認為編程就是最牛逼的,一個公司業務跑得穩不穩,最主要看運維實力牛不牛。程序員喝個咖啡公司沒多少損失,運維處理故障慢上幾秒公司損失可能過萬。


我們偉大的群主告訴我們,演算法就是構造一個數據結構,把數據插入到指定的位置。同理可得,操作系統就是構造一個文件夾結構,然後把文件放到指定的位置。至於你是用rpm去放,還是用deb去放,還是從源代碼make出來,只是實現手段的問題,要是不幸在這個過程中產生了優越感儀式感宗教感,建議每日服用咸甜豆漿各一碗治療。

—————————

道理很簡單啊,用得順手,沒有充足的理由遷移到另一個發行版。

不過是在伺服器上跑幾個進程而已,不管你是gcc還是php,對於一切皆文件的Linux,只要業務進程需要什麼版本,都能裝, 運維工程師自行評估遷移發行版與打包依賴之間的得失,對了現在容器時代這樣已經很簡單了。

更常見的情況是開發人員也不清楚到底有哪些依賴,需要哪些版本。為了省事而要求使用某個髮型版,更沒有技術含量。

哪個發行版更好這種小馬過河的問題是沒有答案的。 比如紅帽系的大規模部署的優勢,商業支持,完善的文檔,培訓體系在一些場景下確實沒啥用。SWAT一列,自己慢慢測試找到適合的唄。


火藥味好濃....看起來答主某些文字觸碰到運維敏感的神經了。

我是做運維出身的,現在做開發。有些問題單純的運維和開發或者CTO是看不到的。我最早用centos,後來新公司運維是debian Ubuntu死忠粉,也就一直debian到現在,算是各路都趟過。

我也不想在這爭論究竟哪個髮型版更好,其實我認為這不是一個單純的技術問題,對於開發來講,經常學習使用新的語言是必要的,也就是題主最後說的鄙視單純只會Java的程序員。但這個問題放到運維身上不一定適用。學習不同的髮型版是一回事,在生產環境中使用是另一回事。

不管用哪種開發語言,對程序員來說區別不大,喜歡哪個用哪個,適合哪個用哪個。運維不同,換了發行版意味著細微的差別,就意味著以前寫的腳本不能用,意味著統一的管理系統要兼容不同的系統。在千台機器中出現幾個不同的發行版是很讓人頭疼的。

有一次是和哪個公司的運維聊來著,他們用centos的原因不是因為這貨有多好,而是因為市場佔用率大,redhat牌子太響,如果擅自用喜歡的髮型版,出了問題自己的責任沒跑,犯不著給自己找不痛快。

其實這裡爭論再多,也很難互相理解,就像做運維的時候,開發讓搞個maven倉庫,很簡單的東西,但我就是不能理解maven這貨是幹嘛的。後來自己開始寫Java,噢,原來就是這麼個玩意。

有句話叫沒有調查就沒有發言權,我希望運維和開發不要現在自己的角度和觀點去看待對方,有條件的話可以去試著做做對方的工作,有助於協同工作。

還有,運維真的很苦,和開發的很累不太一樣,是很苦。反正我轉業到開發以後,寧可累死我本就不算聰明的腦細胞學演算法,也不願再去做專職運維了。

鑒於火藥味太濃,評論不看不回。手機打字,錯字見諒。

附:如果我選的話,Debian


運維的流程是需要積累的,切換髮行版代價太大。

我們公司倒是從一開始就是用 ubuntu 了。


運維有沒有對你選擇的編程語言指手畫腳?


作為一個偏好deb系的傳統行業信息化運維,我覺得你還是想辦法說那些運維去傳統行業的信息化部門當運維吧,傳統行業里很多場合還是RH系的天下,呵呵嘿嘿吼吼哈哈韓寒黃宏何厚鏵。


對此我只能說題主你太年輕了。雖然我也喜歡Debian,有可能的話我都用Debian,但事情遠遠不像你想的那麼順利。

我給你講一個真實的故事吧,那一年我們需要幾台有10G網卡的伺服器,因為Enclosure尚有空位,綜合考慮了一下買了HP的Blade伺服器外加10G網卡模塊。

當時的型號記不清了,不過大概就是這貨。

http://www8.hp.com/cn/zh/products/iss-adapters/product-detail.html?oid=5218743#!tab=specs

我們的伺服器不是Gen8,而是更早一些的型號,不過你可以看到即使是新式的Gen8也是

照!樣!不!支!持!Debian!

我覺得能用就行唄,上了Debian它真就沒有驅動用不了。我甚至考慮過退而求其次,找找用同樣晶元的網卡驅動看看能不能找到。這樣的行為已經是越界了,生產環境中我要是這麼搞肯定被運維打死。不過好在這台機器還是實驗室環境,我可以隨意折騰。

結果是,同樣晶元型號的你都沒處找去!!!啊哈哈哈哈哈哈哈哈哈哈,絕望吧!少年!

最後的最後,我們換了Centos,然後順順利利的用上了10G網卡。事實就是如果你在跟家用電腦差不多的伺服器上跑Debian那確實沒啥可說的,不過你要是在稍微有點特殊的伺服器上跑Debian,光碟機動的問題可能就打得你找不到北。

我承認,這是小概率事件。但你說10%的幾率高不高?你跟老闆解釋,說我們用Debian吧,就10%的幾率出問題,你看看老闆怎麼說?


如果讓我評價他們,ubuntu最招人喜歡,debian算是ubuntu的直系長輩,我最喜歡這個,CentOS算什麼啊,軟體老,有些新東西不能裝,沒意思。

但如果有人問我,伺服器選什麼發行版好,雖然我正在折騰Debian,但我還是會推薦CentOS——文檔多,資料多,還穩定,雜七雜八的問題也很少。

最後正面回答問題吧:傳說天河二號用的操作系統就是Ubuntu,我們為什麼不相信Ubuntu呢?Debian還是Ubuntu他爹呢,更值得信賴。


謝邀,這是我的建議:

1、轉崗。你可以要求轉到運維部門,把他們全員批判一番,告訴老闆Ubuntu好處都有啥,然後大刀闊斧搞你的Ubuntu,制訂新的工作流程。

2、說服他們,告訴他們如果開發用不上Ubuntu你菊花會癢,嚴重影響身體健康,要求更換Ubuntu。

3、努力爬到高級職位,對他們發號施令,或者秘密對老闆實施腦控強行Ubuntu。

4、離職,找一個Ubuntu公司入職,或者自己創業成立一個使用Ubuntu的公司。


公司每個人都要各司其職,開發的不要過問運維的實現。你提你的合理需求,就好像架構師說他的架構,他也沒有管你具體tab是2個空格還是4個空格吧?

開發要管運維的東西,除非是開發也要干運維的活,否則對別人的工作方式加以評價就是不尊重。評價的應該是結果而非過程。

在我看來,只要運維能解決開發提的需求,哪怕他用Android我覺得也不應該過問。


你先搞清各版本差別先,運維考慮的是社區,穩定,支持。不要只想著自己開發環境習慣了線上也要寵著你們,拖出去打一頓就好了。。。。。docker可以拯救樓主


原來那個問哪個發行版運維成本低,是從這裡分出去的!

那個題目明明比這個更偏激好嘛?

那個題目里答過的就不再重複了。

我是經歷過運維要求換Debian的團隊的,題主的公司運維清一色要用CentOS也不具有普遍意義。

題主的環境是Go和Nodejs,相對兼容性好很多。當時我們環境還挺複雜,有C++寫的server,為了換系統還需要兼容兩個版本的編譯器。每次發布還都要編譯兩個版本。

===== 矛盾可以更激化 =====

站在運維的角度,吐槽開發的最簡單辦法是說「你代碼寫的不夠好」,你寫好了連Windows都應該能跑。

你說如果你想fire運維也是有可能的,站在管理者的角度,我最先開掉的就是你。不去解決問題,卻在製造問題。

除非,你能實質上代替運維所有的工作。

===== 矛盾也可以解決 =====

作為一名開發和運維轉過好幾次的工程師,我贊同系統運維是必要的,業務運維應該消滅。讓開發自己運維自己的代碼,系統運維維護的是內核和資料庫等等。


用docker,你用ubuntu做開發,他用centos跑container,就可以了。


很遺憾,你遇到的運維是國內那種隨便找個教程就開始工作的運維。因為網上很多上個世紀教程都是用 centos,所以他們也跟著用 centos。他們是說不出所以然的,他們只是不懂怎麼配置 debian系的 linux,所以他們就假裝很高深的樣子說 centos更安全。這種運維,連 centos的官網都沒上過,拿著公司里遺留的 centos光碟,裝好系統從來不升級不打布丁,因為升級和打布丁意味著不穩定。他們還特別喜歡什麼一鍵安裝腳本。


1. Java/Python之類帶vm的語言不關心OS.

2. 如果你寫C/C++的話, 你應當學會靜態鏈接一切依賴. 實在無法靜態鏈接的, 也要把so一起打包並修改LD_LIBRARY_PATH.

3. 理論上, 你根本就沒有登錄線上伺服器操作的許可權.

你看, 一個合格的rd根本就沒必要care OP用什麼OS.

另一方面, OP為了部署/監控等, 肯定都是積累了一堆腳本的. 你上來就讓別人換OS, 那你要不要幫別人測試腳本兼容性啊?


匿名回答。預防被打死。

1、第一次接觸Linux,鳥哥,centos

2、接觸了Linux以後,發現有個叫紅帽的,低調而且適合裝逼,別人一看,我靠,這是黑客吧,然後你還能低調的告訴他,這是紅帽,是個Linux公司,和黑客沒關係,其實自己內心很爽,有點發飄。

3、接觸到ubuntu,發現沒有Fedora那麼輕鬆,為什麼會有種和爺爺奶奶一起看電視的感覺。

4、發現了debian,被他規範的一系列服務深深感動,準備去說服老闆,我們一起去愛debian吧。然而老闆說,少量的話,我們有錢買Windows,省事。點點完事。實在不行,用RHEL,現在培訓班基本都是培訓RHEL,招人便宜。

5、不能忍,決定用一個自己方式愛上debian,發現了kali,然後就愛上了kali。

6、後來,發現除了我以外,單位所有女的都在用蘋果,那個什麼pro。表示不理解,因為聽客服將,出廠就是雙系統,十分不理解Linux和windows雙系統什麼情懷,但是他們告訴我,那不叫Linux,那是mac os。。。。好吧,我也不懂。反正就是和其他版本有區別,還可以愉快編程的一個選擇。目測好幾個都是貸款買的。不知道還有多少女的那麼選擇。要我,我就選dell或者ThinkPad,dell可以清爽,開心了用,自己安得Fedora,ThinkPad是心情很不爽的時候用的。用的win8

7、發現一些開發的喜歡基於ubuntu寫博客,感覺十分好奇,有的甚至反問我,你開發都不是ubuntu環境,看開發人員的博客幹啥。。。

我其實什麼都不想多說,我甚至不敢打開我的ThinkPad,我擔心她不知道VMware workstation

可能是他第一次接觸電腦就比我高一個等級吧。畢竟我從小到現在,除了身邊這群寂寞的人,基本全是windos環境下做開發。領導原話:你部署環境的時間,我們已經確定這個需求不會做任何改動了。 我覺得這是一個高端黑的笑話。。需求都不會改變了。。呵呵呵。我從不相信她的話。沒少遇到客戶寧可不要定金也要重新申請一次需求。有的還會投訴和到處吐槽。

8、資源啦,支持啦。等等等。

很多,到處都有,關鍵是有的人整理的只有他自己看的懂,時間久了,他自己也看不懂,順著他的筆記,沒有一個實驗是可以完整實現的。然後有的人還不知道該怎麼百度自己的問題,然後百度的點擊率等原因,不斷的有人點到了那個坑人的答案。導致大家覺得,我靠,這個發行版好爛哦。

9、怎麼樣,我打這麼多字肯定沒人看到第三條。

10、繼續添加。看到有人評論了。繼續寫。樓主說的敏捷,考慮過。就是眾人拾柴火焰高。不過我們單位就比較特殊,舉個例子。天安門這種皇家建築,我們只會請最好的工匠,太水的我們也不會要。所以達不到眾人拾柴的景象。可能是追求的不一樣,我們追求的是磨咖啡,而不是速溶咖啡。堅實的基礎工程,而不是快速的崛起和豐富的插件插插插那種stack。我們對一些內容做過預想,預留了大量的空間改造。

11、版本問題。一般情況,為了讓別人看到一高版本,我們就改一下名字。還是舉個例子,開機提示Centos,我們就全改成windows,發證就是給別人看的。

12、補丁更新,這個就考慮很多了,涉及升級之類的,Centos用戶應該曉得,python被升級到了3版本,然後你的yum就炸了。我們上學時還是學過的,比如升級了一個插件導致整個業務癱瘓,相對會謹慎很多。尤其是賺錢的業務。

13、ubuntu的運維成本低於Centos,這個我不知道怎麼表達,我山東的,根據我認識的來看,大家知道鳥哥,知道紅帽,知道Centos,如同思科的培訓資料爛大街一樣,紅帽雖然做的不是很好,但是鳥哥做的很好。不管評價如何,最起碼,單位招人要麼是windows,要麼就是紅帽帶證的。

如果說是硬體成本或者其他的成本,授權之類的,我誠實的講了,我們領導原話:錢可以解決的問題,我為什麼要再請個人來解決,我買的誰的我找誰給我解決,你解決不了,我買你產品幹什麼。

14、我認識的喜歡ubuntu的大多是南方的,不管是企業還是用戶,北方也有很多,但是我還真沒見到。

15、如果現在培訓班都是教ubuntu,我覺得就會是另一個情景了,現在培訓班基本全是紅帽的吧,私人培訓也都是Centos。

16、沒有和開發接觸太多,但是,我們單位開發人員做出來的內容,都是測試去初檢,然後 給運維去部署複檢,最後找一個局點試用,一般是三個月或者一個月都有,然後批量部署。我們領導認為,開發不需要背太多壓力,該拋出來的問題及時拋出來,憋死以後,問題全是自己一個人的。

整體來看。運維只需要收到測試人員給的使用文檔和參數說明。以及成品包或者二進位包即可。一般都是成品包,我們單位認為,伺服器如果出現編譯器這種東西,如同不穿衣服站在街上告訴別人不要看你。或許是單位領導不一樣吧。而且開發人員是有權利訪問現網環境解決問題的。比如配置文件異常。在我們這邊,權利大概是這樣的。市場〉客服〉開發〉二線以及三線技術支持〉運維〉網維〉實施。

目前來看。市場和客服不屑動設備。

17、開發和運維打起來也是可能的。比如開發配置文件寫錯了,交給運維的文檔也是錯的,導致運維背鍋了,畢竟對開發還是很信任的,一般就是買五瓶青島一廠,給開發送過去,看他喝完,然後就離開,喝不下去會幫他灌一些,我們都是通過文明的方式溝通問題,一直都是杜絕什麼辱罵和毆打的。以前都是給開發買十個大包子(比較大)。看著他吃完,再離開。也算是我們單位特色,我們遇到問題不打架。一般就是問問要不要喝兩瓶或者是不是想吃包子了。目前來看。開發出現什麼隱藏問題的幾率越來越小了。一般都是一些比較容易排查的。

18、運維提供技術服務,如同男友陪著媳婦。撒嬌可以,沒完沒了那就不能忍了。

尤其是一些比較任性的,我理解為,男人和女人的思維區別。我還是比較喜歡和女漢字溝通的,最起碼交流起來,感覺,哎,還不錯的樣子。而不是一交流就是一臉迷茫。要麼就是我知道了。有了問題再找你不就好了。畢竟運維不是開發的保姆。大家都是好朋友,幹嘛那麼拼。

19、後續繼續。


伺服器不需要開發碰吧

你需要什麼環境讓運維整好就行了


作為一個外行,折騰過不少版本,各種問題的解答,還是紅帽系領先啊。


其他不知道,Ubuntu 是個試驗品

怒答。


作為一個開發,裝軟體真的花費我很多時間,我真的不喜歡找個軟體還要找個教程,我就喜歡 apt搞定,高效迅速。為什麼運維要用centos,我覺得很簡單早年大家只學了cento的教程,所以默認認為centos比ubuntu高級,殊不知google大愛的ubuntu server ,人家也跑得好好的。


不懂就別給人找麻煩,你NB你自己開發去,最煩外行指揮內行


http://www.zhihu.com/question/19599986/answer/25433641


一般來說誰來背鍋,誰就有選擇的權利。你不能讓我背別人扔給我的鍋。


我個人沒有特別喜歡的發行版

生產環境用的都是Centos,因為老闆喜歡。

本地裝的是Fedora,因為省心

伺服器用Debian,因為相比於Ubuntu,我能找到更多針對伺服器的文檔

當然,這些事情的前提是,我英語還不錯,都是直接谷歌英文文檔。


本來是在評論區的,寫了太長我就單獨拿出來吧。我無意詆毀任何dev,因為我多少也算其中一員,更不會去抱怨產品狗,因為我現在就是一隻。但是骨子裡,我還是那個做了7年運維和集成的。也就是部分人所說的裝軟體的。

沒見過即不存在?所以運維只會裝軟體?

我所見的開發,都是出了問題就往系統身上推,讓運維去承擔壓力。有的是故意的,為自己修正bug爭取時間;有的是無意的,卻也從來不肯主動去排查自己的問題,甚至連協查都做不到。就我這些年來的集成和運維經驗,這種現象出現概率絕對高於50%。我甚至在代碼中發現過=和==搞錯的情況。也許開發們要說了,這是我見過的開發不行。我不爭辯,那你們何嘗不是沒見過好的運維。

而僅僅是一個Linux發行版的問題,任何一個Linuxer都能知道這跟開發的代碼扯不上任何關係,你們居然都能扯到運維行不行的問題,請問這正常嗎?

題主的問題,歸根到底是你沒有運維的精力去折騰系統而已。我也從ubuntu開始接觸Linux,到後來工作需要玩aix,再到現在公司用centos,說實話,一來我沒覺得ubuntu穩定到哪裡去,二來很簡單的就是企業絕大部分用centos,所以我自己的vps我也選擇了centos,只為了能夠跟工作統一。而我的工作筆記本上裝的是ubuntu,僅僅是因為ubuntu默認的桌面更好看一些,畢竟一些書面工作還是需要x桌面下完成的。至於終端下的工作,用哪個根本就不重要了。

我希望題主能夠明白的,是你所說的問題根本就是偽命題,只是你自己的一些潛意識裡的偏見所造成的假象而已。因此我也無法列舉出你口中所說的決定性的理由去證明哪個發行版更好。因為那不存在。

因此我還是那句話,要麼你拿職位去壓運維,並承擔相應責任,要麼就乾脆別操那份心。


首先我認為理想的生產環境是Gentoo,然而這並不是隨便一個人就能玩得起來的。

那麼退而求其次,至少,公司里要保證生產伺服器測試伺服器開發機運行環境的統一(用Debian、RHEL、Ubuntu、CentOS、Fedora等等都可以,只要保證運行環境統一),因為混亂的運行環境大大提高了找Bug的時間成本,同時混亂的運行環境增加了出現Bug的風險。

然後我想批評一下題主的一些看法。

我認為使用Ubuntu的運維成本更低。

不知道你講的是哪方面的成本:時間、金錢還是人力?話你沒有講清楚,我覺得題主對運維這件事也不怎麼了解。

具體情況我不想展開說,我就舉個例子:我認為Windows Server的運維成本更低,線上服務真要是出了什麼大事,還可以找來MS的售後做技術支持——你看,自己很省事吧——正版Windows Server不便宜哦。

所以,既然是開發,就不要對開發之外的領域不做了解就指手畫腳。

而且在職責上我認為我是有權過問的。

這又是什麼意思呢,題主是技術總監還是CTO?那就是說一名不怎麼懂運維的開發,就去做了技術團隊的老大?您這不是笑話么?

很多人認為「穩定」最重要。而我認為「敏捷」最重要,而「敏捷」能帶來穩定。

這話說的...... 現在真是什麼人都敢把「敏捷」掛在嘴邊了。

研發團隊用「敏捷」,那是為了迎合業務的需要。不是說敏捷能帶來穩定,而是不論用什麼樣的方法,穩定運行都是技術部門追求的最基本目標,是及格線

穩定運行 -&> 業務保障 -&> 業務迭代 -&> 敏捷開發 -&> 穩定運行 ......

沒有這個覺悟的話,還是要多做幾年開發才行。

順便說一下我也很鄙視「只會使用一種編程語言」的程序員,尤其是java程序員。

這年頭也是誰都敢來隨手黑一發。

一方面,只會用Java的程序員不外乎兩種——二本三本院校畢業生,培訓機構畢業生——職場新人嘛。職場老人要多關心多愛護,該指導的要指導,該罵的也要罵,這也算是職業操守吧。

結果就有人這麼一通鄙視,滿級大號和新手號比裝備,秀優越?

另一方面,科技以人為本。Java不僅解決了技術上的問題,還順便解決了教育和就業上的問題,為行業發展做了多大貢獻,然後就被題主這樣的人黑來黑去的。

最後,

但是假設Docker不存在的情況下,我還是想繼續討論一下這個問題。

討論嘛,討論一下而已。


也許互聯網初創公司的穩定觀和我的不一樣,宕機重啟一下就好了,所以才會這麼認為

我認為「敏捷」最重要,而「敏捷」能帶來穩定。

像我這樣去年要花幾個月在定位底層bug的開發人員表示,碰到最頭疼的就是kernel底層bug,特別是軟硬體適配的問題,要和硬體人員合作解決。這類問題敏捷一點用也沒有,要麼你有一票高手,什麼都能cover住,要麼你買RHEL,它至少保證在redhat認證硬體上在絕大部分應用場景是不會出問題的,出了問題也有redhat的人幫你看,幾年來redhat在社區的代碼貢獻率不是第一就是第二,還是可以信任的。所以也可以理解很多人選centos,kernel一樣嘛雖然沒有服務。

當然我也理解,題主所在公司可能根本不關心無緣無故宕機掛死之類的故障,只要業務能快速修改上線就好了。這時題主要做的就是向運維保證,改完後的宕機問題都由我來解決,老闆的怒火我來承擔。只有這個作為前提,運維才可能答應。


你為什麼不在開發機上用Ubuntu,在產品機上用centos

運維選擇centos的原因不是Ubuntu太簡單,是他比較熟悉centos

他不可能一夜搞清楚這兩個有什麼不一樣,運維是求穩的

no news is good news

如果你不能建議出Ubuntu確實的好處,運維擱置你的建議很正常

很多運維還選gentoo,就為了不要有自己不知道的默認設置

centos和Ubuntu的差別很大嗎?小到可以忽略不計吧

正因為如此 運維才不願意更換 因為沒必要 每一件可以在Ubuntu上完成的事情centos也可以

更換隻是無謂的工作量和風險了


題主應該沒有接觸過大規模生產環境的實踐,也就別吵瘋啦!誰會不厭其煩地安慰那無知的少年!


呵呵,沒文化真可怕。


我也是開發,我很理解樓主的心情。我寫代碼的時候也想用最新的特性,結果編譯器版本太低,不支持。但是我服從運維的決定,也不會隨便升級系統軟體。如果我做一個服務,就用一個新系統,系統上的軟體版本還不一致,運維還不累死。每個人都有自己喜歡的系統,假如每個人都這麼搞,運維的腳本就很難保持兼容性,從而運維成本就會大很多,出故障的概率也會大一些。其實活下來的系統都是有自己的優點,不可能有一個最優的系統,只能將就了。你說的ubuntu的優點,對於運維人員來說,沒有決定意義。


作為一個對linux了解非常膚淺的開發,針對題主的幾個小點說說

1.

「開發完全不用碰正式環境,東西丟給運維就行了。事實真的是這樣嗎?開發真的不能、不需要、不會去碰正式環境嗎?有多少公司是在嚴格執行這種制度?這種制度在實際使用中行的通嗎?效率高嗎?有多少公司,運維實際上還是給了開發人員在正式環境的許可權的?」

我工作多年來所有的團隊均是這樣操作的,開發人員嚴禁接觸生產環境,甚至運維人員的辦公地點都和你不在一個地方。我在金融IT行業,接觸生產環境就是接觸錢。如果我告訴你我們開發人員可以接觸錢,公司還要開門嗎。不知道題主經歷的是什麼樣不規範的職業生涯。

2.

如果一個開發團隊的交付物還要對Linux發行版有這樣嚴格的依賴,是不是從頭考慮一下架構設計是否合理?


真實體會了ubuntu頻繁崩潰和動不動失去響應的bug. 據說是intel cpu核顯指令集的問題,但是半年過去了,沒有任何改進,而這個問題好像是4年前就有人在ubuntu論壇上提出了。

現在放棄ubuntu,改用centos. 系統穩定得很,即使在大規模io的情況下系統也能正常響應。

感覺ubuntu換那個unity是很錯誤的。如果你用伺服器,不需要gui那我就不知道了。


別害運維了,運維選擇CentOS是正確的。

Debian與Ubuntu,自己玩玩,搞搞開發,也就算了,拿去做伺服器,那就是作死。

不信?有圖有真相:

圖片說明:

1.左上:UbuntuServer14.04.2;右上:Debian7.8。

左下:CentOS6.5;右下:RHEL6.5。

2.四台機器,配置一樣。而且同時運行命令,同時結束。

可以預知:Debian和Ubuntu狂熱粉絲,看到後,肯定會不服氣,於是立即去花大量時間,證實此事。但發現的確是這麼回事後,又立即想出一堆別的解決方案,並牛氣哄哄地在評論欄里指出答主這樣做是【徹底錯誤】、【完全不正確】、【根本不懂Debian或Ubuntu】等等。

不信?等著瞧。(收藏此答案,過幾天再回來看評論欄里的撕逼大戰)

.


的確,大部分運維熟悉centos.因為網上中文教程centos的多,英文的沒什麼差別。高水平的運維要錢砸的,公司一般都希望錢用在刀刃上吧(研發)。我的東家研發優秀畢業生都能給到1.5w,有一兩年經驗的運維才8000。有運維牛人,薪水至少要1.5w起,不過那個人不好找。再說運維誰沒事改公司的系統架構,公司做個數據中心遷移都是要吐血的活,更不用說掃坑了。因為服務不能斷。只要你能證明不用另一個系統就不能運行,剩下的運維自己會想辦法。當然如果做不到,也不是指責誰水平差的問題,相互妥協解決問題才是王道。題主認為能力牛掰,大可向老大申請幫忙改善整個運維架構。我想只要公司同意,又有您這樣的牛人指導,沒有運維不會同意。ps這裡沒有嘲諷的意思。


服務器一直CentOS

個人桌面系統喜歡Debain/Ubuntu

rpm/deb雙修


又黑Java。

我匿名的原因是想問問題主,你會幾種語言?每種會到什麼程度?你會Java嗎?

選個系統學個編程都能上升到信仰顯得你逼格特別高是吧?

Linux各發行版之間在應用部署上能有多大的差異?VM語言需要關心OS嗎?C/C++/Go你非得動態鏈接難道不會把so一起打包嗎?

你青睞Debain/Ubuntu鄙棄CentOS的原因難道不是因為你熟悉前者而不會用後者嗎?

就你這種動不動鄙視同行的菜B,我見一個罵一個。

對不起我又挖墳了。


你不要因為不就好了,直接上雲呀雲多好你想幹什麼就幹什麼。還沒有運維打擾


docker, docker, docker

重要的技術說三遍

淡化操作系統是趨勢

不要說服運維用ubuntu, 要說服他們用docker


弱弱的問一句,你知道大部分省中職技能大賽企業網項目的賽題是基於centos5.5的么?

所以我認為大概是因為大部分運維入門就是centos吧。。

另外題主說遇到用centos的人多,據我所知,海南目前中高職院校提到Linux第一映像是centos,第二是RH。而提到Ubuntu大多想到的是桌面版。

中高職是it民工的主要產出地。

第一次回答,希望各位大大們看看就好,別打臉


centOS和redhat什麼的,系統軟體太老,發布應用很痛苦。

而且環境落後開發環境,有一些功能發布以後不正常。

我傾向於如果自己要發布,自己選環境。

不是我發布,那我不管。


運維已經告訴了你他們的理由,只是你沒把它當作「正當理由」

你就是我們最常見的那種在聊天的時候yes, but的人吧。

1. 安全性。CentOS比Ubuntu安全。

2. 穩定性。Ubuntu更新太頻繁,沒有CentOS穩定。


追求新? 請選用Arch Linux.


題主,你看到的ubuntu和centos僅僅是一個發行版本。但是運維團隊看到的是公司使用centos開始一點一滴建立的運維繫統。(當然,如果一開始用的是ubuntu,也是一樣)

1.你們公司的centos是某認的配置嗎?我想至少會修改一些配置文件吧。防火牆要改吧?sysctl要定製吧?開機啟動哪些程序要優化吧。

我以前公司,運維團隊還會自己刻錄一個定製CentOS系統.iso,每幾個月優化一次新版本給機房裝系統

換ubuntu,如何修改配置優化到最適合你們公司使用?

2.CentOS上有各種運維腳本,運維工具,監控軟體。請問全部遷移到ubuntu上,有沒有技術難點?會不會出什麼故障?需要多長時間遷移和測試?

3.就是真的費事費力遷移了,有什麼好處?

國內中文linux運維社區都是redhat為主的。關於redhat技術交流比ubuntu多的多。(運維不比開發團隊,英文資料很多人看不喜習慣。)

招人也是centos更容易招聘到,新員工更快上手。

apt軟體包比yum包版本新?不知道你們的情況。我們都是編譯源代碼的。用什麼版本主程說了算,除非主程同意,我們也不敢跟著ubuntu去升級軟體。

當然,運維部們是服務於開發團隊的。如果開發團隊要換系統。運維部一般會同意。只是開發團隊能否配合工作呢?給的時間夠不夠?舊機器上的產品出了問題,分不清是運維還是開發責任,開發是否主動承擔?

折中方案是,申請幾台新機器。分配一兩個運維和開發一起玩去咯。

………………………………………………………

最反感就是操作系統信仰。小孩才搞操作系統信仰,大人只講究工作量和收益。只要能降低運維工作量(降低量必須比遷移系統和適應期造成的不便要多),賺更多錢(這個老闆說了算),用linux,bsd還是windows都沒關係。

「很多人認為「穩定」最重要。而我認為「敏捷」最重要,而「敏捷」能帶來穩定。」

前面的不討論,題主最後一句不是忽悠嗎?敏捷是出bug修復更快嗎?

題主不妨直接找老闆說,ubuntu的敏捷,可以加快我們的開發效率,用最少的人和時間給企業省成本增利潤。而且人格擔保系統穩定。老闆還會和錢過不去嗎?運維還會和老闆過不去嗎?

至於後面會不會因為系統不穩定,宕機故障,自己看著辦咯。


話說這個年代了,應用上面的代碼還依賴os啊,或者樓主用的什麼語言,需要特定編譯到特定的平台?一般能依賴到的軟體linux都是通用的把。而且應用盡量做到平台通用就好了,和生產環境的平台關係不大。帶虛擬機的語言就更好處理了,具體的性能一般都在應用軟體本身。開發偶爾看看日誌去生產環境(如果沒有日誌管理系統的話)也沒有啥用啊,為啥要換系統呢。。。公司能接受docker的話就更不用說了。


伺服器 你以為是玩系統啊 伺服器給你裝來當PC用的嗎???


先思考這麼幾個問題:

1.有沒有需要的功能 Debian/Ubuntu 有而centos沒有?

2.有沒有哪個功能 Debian/Ubuntu性能比centos好?

3.有沒有哪個功能 Debian/Ubuntu 維護成本比centos低?

4.有沒有哪個功能 Debian/Ubuntu 穩定性比centos好?

如果你要做的項目不是啥特別奇特的以上回答基本是沒有,即使有也是相當微弱幾乎可以忽略不計的

最關鍵的是,運維用啥系統和你有關係嗎,甚至你不去問可能你根本察覺不到他們用的什麼系統,可能他們單純覺得centos的圖標比較好看

我就是搞運維的,我用centos的唯一理由就是我的上一個項目是用centos的,有現成的東西可用,大家都是幹活掙錢的,為啥要給自己提高工作量呢


也許難點是——運維兄弟只會用centos


而我認為應該用Ubuntu的原因主要是:
1. 更新及時。有些基礎工具CentOS要比Ubuntu落後好幾個版本,對於喜歡嘗試新技術的開發者來說,逐個手動安裝依賴是個很痛苦的事。
2. 資料豐富。遇到什麼問題,在網路上比較容易找到答案。
3. 社區支持。因為Ubuntu社區龐大,有些工具雖然沒有在apt源收錄,但是基本都會提供Ubuntu下的安裝過程。
綜上,我認為使用Ubuntu的運維成本更低。

1.對於喜歡嘗新的開發者來說舒服就意味著運維成本更低?你是怎麼推理出這個結論的?而版本變更頻繁真是運維需要避免的事情,新功能的增加你們測試過么?你們對各個軟體之間的兼容性以及庫之間的兼容性進行過測試么?你們有在多大壓力下面跑過更新過最新庫的各種軟體呢?運維當然也很少有,但是RHEL有,這就意味著CENTOS也有。

2.資料豐富似乎恰恰是CENTOS的優勢,這條拿出來說有點打臉

3.社區支持也是centos佔優,為啥總是選劣勢來比呢?

綜上,我認為題主並沒有得出Ubuntu運營成本更低的理由啊。。。

我補充幾點Centos做為運維常用版本的理由吧

1.有企業級認證

2.發布版本有完善的測試(源自於RHEL)

3.有完整的教育認證體系

4.歷史悠久,使用廣泛,意味著資料和社區支持都是最多的之一

5.做為商業產品出售,歌手和唱K的差距不是誰唱得「時尚新穎」,而是誰唱的專業


ubuntu 太適合炫酷的個人,省心。僅列幾條:

1. apache 的三種MPM模式可以用命令來悠

2. 默認 sh 可以用命令改

3. apt-get 安裝mysql時會讓你把資料庫root密碼配置好,省事

4. Let"s encrypt 安裝時會讓你把域名都輸入,直接生成key

所有這一切都不需要你去搞什麼配置文件,作為個人,用起來超high,不存在什麼缺點。

但運維,你就完蛋了,安裝一個軟體可能要進行N次交互,更新軟體時也會N多提示,都要手動確認,那麼請問,你如何做自動化安裝部署?

所以,小公司報怨伺服器版本不炫酷,情有可原,不缺運維人數的大公司也無所謂。

如果你能確定,公司會隨著伺服器增多而招聘更多的運維,或者伺服器根本不會增多,公司根本沒想過在這方面做大,用ubuntu吧。


debian ubuntu centos 對一個合格的運維來說都差不多吧?!

難道不是么?就像是,你在大陸活得好好的,到了香港就活不下去了?

但是,為什麼我要匿名,我也是要來說運維的。

大部分的運維從業人員資質堪憂啊,想想從事運維這個崗位的這些人,都是怎麼來的?

從培訓公司這類出來的,基本上只會裝軟體,按教程一步步來。重要不是這個,因為技能可以學習,工作幾年後,cp mv rm 命令可以非常地熟悉,但是有一點,態度都基本是diao爆天的。

程序員當然比運維高一等,這個真不用比較,工種就是優勢。學運維可以三個月,學編程也可以么?


我是開發、部署和運維都在Ubuntu上,軟體全用apt-get安裝,感覺簡單又統一,用CentOS的好像特別喜歡定製化編譯、部署,折騰幾個參數來定製化伺服器,但我對這麼深入的東西確實不感興趣


聽著感覺技術好牛,說白了也就年輕。


大家不要吵,我覺得應該用XP+MS2000成本最低。。。


熟悉在哪個上面有積累就用哪個,如果是從頭開始選擇,毫無疑問是Ubuntu


切換不同派系發行版的代價太大。

切換到 Fedora Server 應該是比較好的選擇 ^_^


在我看來還是我SUSE系的好用啊


推薦閱讀:

Ubuntu 推出的Snap應用架構有什麼深遠意義?
Ubuntu 有什麼奇技淫巧?
應該刪除預裝的 Window 8,改用 Ubuntu 14 嗎?
KDE如何配置得漂亮大氣?
初學 Linux 是否可以用 Ubuntu?

TAG:Linux | Ubuntu | CentOS |