在 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 /

或者您有一个名为 Users 的卷?如果是这样,您可以使用:

diskutil disableJournal /Volumes/Users

好吧,rcStartupItem方法都已经弃用一段时间了。两者基本上都被替换了launchd,它取代了的位置init(我想,无论如何,你会注意到 launchd 是 PID 1)。

虽然我认为 StartupItems 在 10.6 中仍然受支持,但是 rc 已不再受官方支持,如下man rc所示:

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.

相关内容