一個運維的咆哮:我受夠了Linux服務器 重拾Windows
一句新的格言是,對于有著正常生活的人來說,幸好還有 Windows。
實不相瞞,這其實是一篇不停地大聲抱怨 Linux 的文章。但是現在我生氣得很,沮喪得很。眾所周知,Linux 人員打心底里就瞧不起沒有夜以繼日地琢磨 Linux 發行版細枝末節的人,但我有句話要說:我可不像你們這樣 Linux 人有的是大把時間來鉆研技術。
我受夠了 Linux
我受夠了。我受夠了所有拼湊起來的各系統部分必須版本剛剛好,必須有剛剛好的依賴關系,必須以剛剛好的方式來編譯,必須選擇剛剛好的時機,還必須數量剛剛好的的人員在剛剛好的時間步調一致。
我受夠了所有不同的軟件包管理器。一些代碼使用某一個軟件包管理器來分發,另一些代碼則使用別的軟件包管理器來分發。受夠了只要按照資料不充分的 HOWTO 文件,在終端窗口中機械地輸入一行行代碼,可以將模塊下載到 Ubuntu 上,卻根本無法下載到 CentOS 或 Fedora 上,就因為沒有按剛剛好的順序來指定代碼存儲庫。
我受夠了所有不同的外殼程序和用戶界面。除非你建立起一條穩定的 SSH 網絡連接,下載了各部分代碼,重新編譯了軟件包管理器,否則編譯代碼和發行版甚至無法啟動進入到用戶界面中;爾后,趁網絡連接湊巧很通暢的時候,還需要通過調整另一個煩人的系統配置 .Ini 文件,全面設置遠程監控器屏幕。
我受夠了這一點:這個東西(Linux 服務器)無法可靠地運行。當然嘍,如果你每天每時每刻都在接觸 Linux;如果 Linux 對你來說就是生活的唯一;如果在你長出第一根胡須后,為了 Linux 從來沒有約過異性;而且如果一生中除了負責做 Linux 之外,從來沒有負責過其他東西,那么你自然諳熟關于 Linux 的一切事情。你自然知道哪些論壇和哪些樓主擁有只有他一個人知道的超長、超怪的命令行。
你還知道,如果你在發行版4.3版本上輸入某個命令行,它可以運行,但是在4.3a 版本上卻出現了問題,那是由于后一個版本需要完全不同的程序,使用完全不同的軟件包管理器來打包,而且確保那個命令行的順序完全正確:為此需要進入正好合適的聊天室,需要在晚上正好合適的時間段,與正好知道的某個 Linux 專業人士對上話,才能夠把文檔中沒有說明的-lM 添加到第四個參數的前面。
要是哪個不走運的家伙把大小寫搞錯了,那就慘了,因為把-Lm 放在第四個參數的前面會帶來完全不同,甚至文檔中不作進一步說明的,可能會危害所有人的某種結果。
我究竟為什么受夠了 Linux?
我受夠了 Linux,因為僅僅為了可以在圖形用戶界面中啟動該死的虛擬網絡連接(VNC),或者將平時所用的備份程序裝入到網絡上其他機器上,就需要好幾個月經受上述種種磨難;而這種感受就像是玩《忍者武士》小游戲,非得四道關全部闖過,才能到達綠山的巔峰。更要命的是,我好不容易讓整個系統起來,沒想到就崩潰了。
確切地說說,我當時準備部署我那臺 Linux 服務器。我想更新服務器,更新成最新版本,因為我做事循規蹈矩,經常定期更新。于是,當 Gnome 聲稱有更新版可以打上時,我表示 OK
我真是太天真了。我表示 OK,實際上是給 Linux 打上更新版。我知道,我本該格式化另一個硬盤,使用 dd 命令將我那堆文件拷貝過去,下載源代碼包,將所有代碼重新編譯一次,然后向 Linux 祈禱,從頭開始構建我的整個操作系統,而這一切僅僅是為了安裝一些安全更新版。
但我沒有這么做。我以為,經過這么多年后,Linux 終于足夠健壯了,不至于因為我僅僅想運行服務器、確保版本最新,就給我當頭一棒。我好傻!我真的好傻!
于是我執行了更新。結果系統崩潰了。顯示異常。而我之前付出的努力和時間全部泡湯了。而現在,服務器無法啟動。
更要命的是,服務器放在互聯網服務提供商(ISP)那里,由其托管,于是我只好低聲下氣地請求,請求對方重新為我構建硬盤,重新安裝操作系統。幸好,服務器只是仍處于試運行的機器;我沒有在上面運行工作系統。不然,我是完全沒轍了,而不是僅僅氣得破口大罵。
抱怨開始了……
好了,盡管我確信各位看官會說,我在技術方面準是個毫無經驗的新手。你要知道,我可是個 UNIX 產品經理,之前不但寫過內核代碼,還在大學里教過語言編程。而現今 Linux 存在的問題卻是,它絕不是內核這么簡單。它是由成千上萬個編得很差勁的軟件片段組成的混合體,所有軟件片段拼湊在一起,其中大多數只能在各片段采用某種組合的情況下才能正常運行。只要要哪里出現不匹配,搭起來的整個系統就頃刻崩潰。
當然,Linux 機器可以成為出色的服務器。但是它們需要有一組專門的 Linux 技術人員,這些人了解關于 Linux 的一切事情,了解所有的聯絡暗號,了解所有不為人知的趣聞軼事,因為他們有的是時間。
而我就是個工作忙碌的人,有其他事要做。我只是需要打開一些網頁,運行我的程序,僅此而已。我沒有時間來跳血淚之舞,而你要真正成為 Linux 文化圈子中的一員,就得會跳血淚之舞。
我可是受夠了。當然,我仍會在虛擬機中的 Linux 上運行某些一切就緒的硬件設備,可以幾乎立馬對虛擬機執行備份、快照和恢復等操作;但是就支撐我那些服務器的核心引擎而言,從現在開始,我的眼里只有 Windows,永遠如此。
我可是再也資本將更多的時間浪費在 Linux 上面了。一切都是隨便拼湊起來的系統怎能讓人放心?絕對不會用 Linux 了。你總不至于出錢、讓我在服務器上運行 Linux 吧。永遠不會再用 Linux 服務器了。
情緒平靜之后
近日我找那家 ISP 談了談。對方告訴我,他們早上過來后發現,服務器監控器上顯示了數量多得驚人的錯誤信息;用他們的話來說,出現的錯誤比他們之前見過的都要嚴重。
不過真正讓人抓狂的事還在后頭。我問,他們是不是在內部其他地方使用這個發行版(CentOS 版本5.6)。
對方告知:“是的。我們在許多機器上使用這個發行版。但是我們從來沒有更新過。當初安裝完畢后,我們就沒有理睬過。”這就是使用 Linux 發行版的真實寫照,不難發現那么多用戶有多僥幸。一旦安裝上去,可以正常運行,用戶從來就不、根本就不更新。
實際上,如果其他 ISP 也是這樣子管理基于 Linux 的機器,那就意味著,新的安全漏洞公之于眾后,他們沒有及時更新系統。為了防止基于 Linux 的機器因開始進行簡單的更新而變成一堆廢物,許多 ISP 任由機器(及其客戶)暴露在各種各樣的惡意攻擊面前。
從我的切身經歷來看,Linux 是一款優秀的系統,是一款健壯的操作系統,是一款靈活的操作系統。但就是無法同時做到優秀、健壯和靈活。它不是一款優秀、健壯又靈活的操作系統。
不信的話可以試試,保準你嘗到苦頭。還有最后一點是,別對我說我不清楚自己在干什么,于此因此抨擊 Linux。我很清楚自己在干什么,也很清楚維持一臺簡單的 LAMP 機器運行顯然需要具有哪些要素。
對于有著正常生活的所有人來說,幸好還有 Windows。
英文原文:Why I’ve finally had it with my Linux server and I’m moving back to Windows
來自: 51CTO