在 Mac OS X 上,如何在關機時停用日誌記錄並在啟動時重新啟用它?

在 Mac OS X 上,如何在關機時停用日誌記錄並在啟動時重新啟用它?

原因:我想與 Ubuntu 共享一個主分割區,但如果不需要的話,我不想在啟動到 Mac OS X (Snow Leopard) 時放棄日記功能。

我發現了什麼:

我想要的命令是

diskutil disableJournal /Users

diskutil enableJournal /Users

(該卷安裝在/Users

rc.local起初看起來rc.local.shutdown很有希望,但我認為存在一種依賴性,將它們排除在外。

我試圖製作一個StartupItem,但它沒有運行。

我正在尋找什麼:

如何StartupItem專門為此做一個解釋是什麼?我明白了它的要點,但我錯過了一些微妙之處。

StartupItem為什麼這是錯誤的做法的解釋是什麼以及建議的行動方案是什麼?

是否有一個非常明顯的簡單解決方案,或者這整個努力都是毫無意義的?解釋是什麼?

答案1

首先,您使用的是哪個版本的 OS X?

其次,澄清一下:我認為您需要停用日誌記錄的原因是 Ubuntu 不支援讀取和/或寫入 HFS+ 日誌磁碟區?

或者,等等,到底是什麼......

diskutil disableJournal取得磁碟區的路徑,而不是任意資料夾的路徑。

因此,如果您的主資料夾位於根磁碟機上的 /Users/ 中,您將執行類似的操作

diskutil disableJournal /

或者您有一個名為“用戶”的捲嗎?如果是這樣,您將使用:

diskutil disableJournal /Volumes/Users

好吧,rc這兩種StartupItem方法都已被棄用一段時間了。兩者基本上都已被 取代launchd,後者取代了init(我想,無論如何,你會注意到 launchd 的 PID 為 1)。

雖然我認為 10.6 中仍然支援 StartupItems,但官方不支援 rc,如下man rc所示:

本地文件現在不受支持,已被替換為launchd(8),它透過 bootstrap 子命令引導自身以從標準位置launchctl(1)讀取 作業。launchd(8)

您可以檢查 LaunchAgent 和 LaunchDaemon 定義檔的以下內容:

 ~/Library/LaunchAgents         Per-user agents provided by the user.
 /Library/LaunchAgents          Per-user agents provided by the adminis-
                                trator.
 /Library/LaunchDaemons         System-wide daemons provided by the admin-
                                istrator.
 /System/Library/LaunchAgents   Per-user agents provided by Mac OS X.
 /System/Library/LaunchDaemons  System-wide daemons provided by Mac OS X.

相關內容