你還不知道「rm-rf」?!這個近期最夯的代碼,背後的故事完全讓人哭笑不得!

首圖來源:cdn
因為工程師的錯誤操作,一行短短的程式碼竟然差點「滅掉」了一整家公司!
工程師 Marco Marsala 由於意外要求電腦刪除所有的內容,從而使得儲存在電腦中的所有訊息、以及和網站相關的訊息都遭到了刪除,而這些訊息都和其客戶緊密相關。 Marsala 將這一遭遇告訴了一些服務專家,希望能夠找到補救措施。但相反的是,大多數專家都都沒有告訴他如何修復這些數據,而是告訴他,這個錯誤操作很可能已經徹底刪除了所有訊息,因此很可能因為一行程式碼摧毀了整個公司!
這行程式碼就是「rm -rf」:
這行程式碼會刪除所有被告知需要刪除的訊息,其中「rm」告訴電腦要移除訊息;而「r」指的是在索引目錄中刪除所有訊息;「f」指的是「強行刪除」,即告訴電腦忽略所有的警告,強行刪除所有文件。
最終,該行程式碼刪除了電腦中的所有訊息,包括客戶的網站、還有目前 Masarla 運行著一家主機服務公司,其主要提供網路連接和網站內容儲存服務。
通常情況下,執行這個程式碼時,該行程式碼會清除電腦中指出的具體部分。但是由於 Marco Marsala 在書寫中出現了錯誤,這行程式碼並沒有明確的指代關係,因此移除了電腦中的所有訊息。 「目前我運行著一家小型主機服務器,客戶大約有35 位。我採用的是Ansible 來自動運行一些操作和服務。」Marco Marsala 解釋道,「昨天晚上我意外地在所有的服務上面執行了一段程式碼,由於變量沒有定義,因此該段程式碼對電腦中所有的資料都有用。」Marsala 說,該段程式碼甚至刪除了所有的備份文件。由於儲存備份文件的硬碟和電腦連接,因此該電腦也將其中的數據全部抹掉了。
(image source:lh5)
多數專家都認為,Marsala 不大可能能將這些數據恢復。因此,這家公司也很可能無法恢復。 「很遺憾地告訴您,您的公司事實上已經被毀掉了。」Sven 回應到。 「但是如果你現在關閉一切,並且將硬碟拿到專業的維修公司的話,或許還有一線生機。」「這樣做的費用或許會非常昂貴,並且也會花費很長的時間,且無法保證一定能恢復。」也有人這麼說。 「你的生意很快就會停止了。你需要做的不是尋找技術建議,而是給你的律師打電話。」Michael Hampton 說。許多的回應都沒有任何積極建議,例如有人告訴他本可以採取很多措施來阻止這一切的發生。
Marsala 所遭遇的問題遠非那些無意間毀掉自己系統的那些錯誤相比。事實上,也有回應者指出在兩三年前也曾發生過類似的錯誤,即「星期一早晨的錯誤」。這個錯誤指的是有人無法登陸整個服務系統,直到發現代碼中的一個空格。
不過最終 Marsala 的公司並沒有真的「毀滅」,因為事件發生後稍晚,這位工程師就向義大利媒體 Repubblica 澄清,這是他為自己的伺服器管理公司所做的病毒式行銷。所以一切都是!假!的!
不過這次的「病毒行銷」,似乎是帶來反效果的負面行銷,畢竟 Marsala 的公司是一個是網站管理公司,出了這麼大的紕漏,應該讓大家的印像蠻糟的才對。至於這起「手殘的故事」所帶來的教訓,大概就是不能輕信網路謠言,還有就算這是編造的故事,也不要對程式誤植掉以輕心啊!
文章來源:Independent.,由 TECH2IPO / 創見 林云簫編譯,譯文創見首發,轉載請註明出處。