天天看點

IT癡漢的工作現狀30-刀客許三爺(下)

        在面試了幾個小夥子後,許三爺憤憤的跟我說,“沒什麼工作經驗呢,就會了5種語言了。我隻敢說自己就會一種語言,那就是python,因為我研究過它的編譯器。”

        “照你這标準,我豈不是一種語言都不會啦?人家會5種語言,隻要是能夠熟悉其文法,熟慮用其開發項目也就足以。要求不要太高嘛。”我持反對意見。

        “我想表達的是,這些小夥子應該謙虛一點。這樣做不會給面試官帶來好印象。”

        “好吧,我隻是想跟你擡一杠。”

        回過頭來再說Docker。Docker的好處那麼多,我終于忍不住動心了。安裝的時候發現Docker的要求像許三爺面試一樣高,跑在64位機器上,Linux kernel要3.8以上。64位機滿足了,但第二條不行。我的Ubuntu 12.04還是3.2的kernel,要想玩Docker就要先更新kernel。本以為這還是一件輕松加愉快的事情,但結局卻出乎我的意料。就像那流行的一句話:是我入戲太深,而結局卻一個人。

        我以前在我的Fedora上編譯過kernel并運作它。隻要一步一步安裝文檔來,成功率還是挺高的。這一次我按照Docker install 文檔來,隻一句指令就将kernel更新了,然後reboot,一切都很美好。在那個周五的晚上,我體驗着Docker帶來的美好,真是太令人興奮了。時間不早,我高興的關機回家,心中憧憬着周一回來用Docker搭我的wiki。

        周一早上我神采奕奕的來到辦公桌前,快速按下電源按鈕,開機。然後給自己打來一杯熱水,靜靜的坐下,卻發現系統進不去了。重新開機一下試試,還是進不去Ubuntu。我這電腦是雙系統,試一下進入另一個XP系統吧,結果可以。我心中暗罵Shit,卻發現自己無計可施。Grub可以進來的,但輸入指令不起作用。半個小時的瞎推斷仍然不行,我确認自己是攤上事兒了。腦袋嗡的一下癱坐在座位上。

        我懷疑是kernel更新造成的。多方資料調查後,發現kernel更新之後,對于雙系統要執行“update-grub”。既然是grub,我可以進行一些修複才對。試着制作一個U盤啟動的Ubuntu進入去修改Ubuntu下的grub,同時也修改XP C槽下的grub。結果還是令我失望。看來要重裝系統了。

        對我來說,另一個問題出現了。Ubuntu系統沒有分區,如果直接重裝,那麼我的所有資料都将丢失。其中有數百G的Android源碼,還有我“價值連城”的Android動畫源碼,那是我嘔心瀝血用3周時間實作的。所有這些,我丢不起。其實我隻是在原系統基礎進行更新,那麼使用者資料是不會丢失的。但是有兩個問題讓我決定一不做二不休。一是原有的賬戶不能用了,錯誤提示提到了原使用者是基于kernel 3.2,但終端(Ctrl+alt+F1)是可以進入的;另一個問題是,分區應該做,以備日後系統再次崩潰我不至于這樣狼狽。

        後一條是重點,因為誰也不希望将Windows系統分做一個分區,然後将系統和所有資料都放到那個C槽。在大幹一番之前,我做了另外一個嘗試。進入啟動盤的Ubuntu進而通路我的硬碟,然後用gparted工具将其分區。但結果是,剛剛更新的系統又啟動失敗。我頓時放棄所有嘗試的念頭,要做一件快刀斬亂麻的事。

        在一個月黑風高的夜晚,我将資料拷出來(包括XP中的資料),然後準備随意蹂躏我的機器,讓Ubuntu做我唯一的作業系統。之前跟許三爺探讨過分區的形式,按照慣例大多将Ubuntu建三個分區:根、Home以及swap。系統安裝在根目錄下,這就與Windows安裝在C槽中類似。個人資料都在Home下,不論你有幾個使用者。但是,如果你習慣将自己的軟體放在/opt下,或者搭建Web server,如果重裝系統,/opt和/var目錄仍然會被格掉。是以也可以将/opt /var等你需要的目錄也分出來。

        分區做好了,剩下的就很簡單了,因為我Ubuntu14.04的安裝引導做的十分簡單易懂美觀,這在12.04時代是可望不可及的。安裝完畢,重新開機硬碟中的系統,還是進不去!真是見鬼啦!這麼晚了,我渾身冒着冷汗,想起了辦公室裡鍵盤聲的傳說。那是三年前齊天第一個發現的,說在許三爺指導我如何用英文對付德國客戶時我的工位上,不時會發出機械鍵盤的敲擊聲。故事發生在周末,齊天約會被放鴿子後無所事事,去機關加班。空蕩蕩的開發大廳就他一個人,但偶爾會聽見西面牆邊的工位上有鍵盤的敲擊聲,幾次之後,他有點發毛,迅速逃離那怪異的現場。後來告訴我們,其他人也發現晚上加班時有響動。我也聽過,但我總是感覺那應該是隔壁開發大廳傳來的聲音。直到有一天我們去隔壁大廳開會,牆邊根本沒有工位,空蕩蕩的隻有一個會議桌。一想到自己的假設被證明是錯誤的,我背後也直發麻。好了,趕緊回家,明天再說。

        第二天早上自己重新做了一次還是不行,隻好 再次找許三爺求助。我用一瓶可樂的代價換來了許三爺一上午的幫助,可惜的是還是沒有搞定。他也沒轍了,說所有的步驟都沒有問題,并讓我看他的分區資訊。基本一樣,我又用啟動盤進入系統檢視我的分區,發現我的機器與許三爺的有唯一的差別!那就是分區格式不同,他的是MBR,而我這裡是GPT。MBR(Master Boot Record)分區格式最大的尋址範圍是2TB,在大硬碟的今天它逐漸被GPT(GUID Partition Table)取代。而Ubuntu14.04在分區時預設就使用了GPT,這是一個新技術替代舊技術的必然。但問題是,硬體支援并沒有跟上,這就造成了系統還是啟動不了的結果。主機闆是12年的,雖然已經有了UEFI的選項,但經過幾次實驗發現它未能正常工作。最後的解決方案是,再做一個Ubuntu12.04的啟動盤,安裝時分區格式選擇MBR,然後用14.04去更新這個系統。成功真是不易。

        這一趟系統安裝之旅源于Docker,在許三爺的幫助下終于趟過陣陣渾水。為了表達我的感謝之情,将許三爺的外号之前冠以刀客美名!謝謝刀客!