<作死集-1> 亂改系統檔案的下場

前天電腦開機,跑出個 記憶體剩餘不到 1G 的警告,要我盡快整理空間,於是我開了 terminal,用 :

$ sudo su -

開啟管理員權限 [註1]

$ cd var/log/journal/

移動到佔用空間最大的資料夾

然後把裡面約 2G 的東西全刪了

結果 …

等到我下次開機之後,螢幕變成了這副慘狀

最糟糕的是它還會與黑屏交錯閃現,而且放置 10min 之後也沒有要進登錄畫面的跡象

我當下的第一反應是 —- 好稀奇喔 ! 趕快拍下來,不然以後可能沒機會了

… ARE YOU SERIOUS ?

好啦,先不管問題到底是怎麼解決的 ( 當然解決了、不然這篇文用什麼發的 ),我們來談談這些檔案到底是什麼吧

這個檔案裝的到底是啥

首先,這個資料夾裝的是一些本機的 history 如果用進去點開來看,會發現這些長這付德性的檔案 [註2]

system@81114d71ac9543ed872f3aac55422f37-0000000000000001-00055f34f963cdf8.journal system@81114d71ac9543ed872f3aac55422f38-0000000000000001-00055f34f963cdf8.journal system@81114d71ac9543ed872f3aac55422f39-0000000000000001-00055f34f963cdf8.journal

這些檔案可以被安全的移除,至少在不刪掉整個資料夾的情況下是如此的 ( 當然,如果有 debug 的需求,就不建議全部刪除 )

只要電腦有在使用,這些 .journal 檔案便會一直出現,直到被手動刪除或是超過空間上限為止

如果覺得定期手動刪除太麻煩,可以到控管本機紀錄的檔案 :

$ cd etc/systemd/journald.conf

改動裡面的參數, i.e.

SystemMaxUse=250M

當然,整個 journald.conf 檔案可調整的參數不止這一項,可以視情況自行調整,詳細說明請參考官網 點這裡

嘗試修復錯誤的過程

由於電腦在一閃一閃的狀態,正常人的第一反應就是狂按按鍵,發洩自己的憤怒,結果發現有機率可以按出東西來,證明了還有我進行操作的空間,不必急著拿去給廠商重灌 OS

接著得想個方法進入 command line,讓電腦接受我的指令,才能把資料從回收桶還原回去

於是狂按 Alt+F2 直到成功開啟 grep mode 進到純文字終端 ( 顯而易見的,我們的 GUI [註3] 已經不管用了 )

進到終端之後,由於機率成功打字的緣故,我連登入自己使用者都做不到,但是在靜置一段時間後莫名可以正常打字了 ( 我也不曉得原因,真的 )

翻了翻資源回收桶後

$ cd ~/.local/share/Trash

發現我丟掉的檔案並不在這裡

於是我上網查了在電腦裡有沒有這些 .journal的備份 ( 當時我還不知道原因是資料夾被刪了 ),發現在 :

run/log/journal

有著一模一樣的檔案,便把整份 journal 資料夾丟過去了。

重新開機以後,電腦終於回來了 !

一天又平安的過去了

結語

我們在更動一些系統檔案時,應該要記下自己做過的操作。這樣一來,即便出了什麼問題也能追本溯源把根本問題解決

還有就是 …

在動系統檔案前拜託先查閱相關說明再動作,切勿魯莽行事

這裡有先人的慘痛教訓(X

最後,如果哪天沒事閒著,想把自己電腦弄掛再救回來、獲得成就感,可以試著把整個檔案刪掉喔~


[註1]雖然 Ubuntu 相對 Windows 來說有很大的系統檔案操作空間,但是在修改系統檔案前還是必須輸入使用者密碼來驗證,Ubuntu 並沒有開放到隨便亂弄就能更動唯讀檔

[註2]實際上除了一個佔約 8.4MB system-XXXX.journal 的檔案,還有佔更大空間 – 134.2MB user-XXXX.journal 檔,需要在

etc/systemd/user.conf

更改它的參數

[註3] Graphic User Interface 使用者圖形介面 : 用圖形方式顯示的用戶操作介面