Mac OS X で、シャットダウン時にジャーナリングを無効にし、起動時に再度有効にするにはどうすればよいですか?

Mac OS X で、シャットダウン時にジャーナリングを無効にし、起動時に再度有効にするにはどうすればよいですか?

理由: ホーム パーティションを Ubuntu と共有したいのですが、必要がない限り、Mac OS X (Snow Leopard) を起動している間のジャーナリングを放棄したくありません。

私が理解したこと:

私が欲しいコマンドは

diskutil disableJournal /Users

そして

diskutil enableJournal /Users

(ボリュームは にマウントされています/Users)

rc.localrc.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.localは現在サポートされておらず、 に置き換えられました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.

関連情報