2014-01-18 82 views
-4

如果Linux內核自行刪除會發生什麼情況?會不會有一段時間無法刪除文件,因爲rm或用於刪除的程序也被刪除了?如果Linux內核自行刪除會發生什麼情況?

問候。

+1

正在從一個基本上這樣做並設法恢復的腸道讀博客。非常有趣的閱讀 - http://fendrich.se/blog/2010/08/27/rescuing-hosed-system-using-only-bash/ – Graeme

回答

2

問題是(除了脫離主題外)本身有點不對,因爲rm不是內核的一部分,而是一個內置的shell或一個單獨的用戶級程序。無可否認,rm使用內核提供的系統調用,但這是無關緊要的。

內核本身從壓縮映像加載並鎖定在RAM中。直到重新啓動(這會在引導加載程序給出諸如「vmlinuz未找到」之類的消息時會失敗),是否刪除壓縮的映像並不重要。你無法從RAM中刪除內核(好吧,除了重新啓動...)。

此外,在大多數情況下,無論您是否刪除一個文件,包括正在運行的程序的可執行文件(如果我們可能在一段時間內將內核調用爲一個「程序」這一令人生畏的事情) ,因爲刪除文件只是刪除鏈接,而不是文件。這是一種Windows典型的假設,即刪除文件會造成破壞性的惡意行爲。
在類Unix系統下,完全可以在程序運行時刪除(或替換)程序,並且根本不會引起任何問題。您將刪除文件系統中的名稱,就這些。任何開放的描述符將保持有效,直到最後一個關閉爲止,原始文件將保持原樣,對於任何先前獲得處理的觀察者來說都是如此,並且對於每個嘗試稍後獲取它的人都會「消失」。

相關問題