Das Warum: Ich möchte eine Home-Partition mit Ubuntu teilen, möchte aber beim Booten in Mac OS X (Snow Leopard) nicht unbedingt auf das Journaling verzichten.
Was ich herausgefunden habe:
Die Befehle, die ich will, sind
diskutil disableJournal /Users
Und
diskutil enableJournal /Users
(Das Volumen ist montiert auf /Users
)
rc.local
und rc.local.shutdown
sahen zunächst vielversprechend aus, aber ich glaube, es besteht eine Abhängigkeit, die sie ausschließt.
Ich habe versucht, ein zu erstellen StartupItem
, aber es hat nicht funktioniert.
Was ich suche:
Wie wird speziell hierfür erklärt, wie man eins erstellt StartupItem
? Ich verstehe das Wesentliche, aber mir fehlen einige Feinheiten.
Gibt es eine Erklärung dafür, warum dies StartupItem
der falsche Ansatz ist, und einen Handlungsvorschlag?
Gibt es eine wirklich offensichtliche, einfache Lösung oder ist das ganze Unterfangen sinnlos? Was ist die Erklärung?
Antwort1
Zunächst einmal: Welche OS X-Version verwenden Sie?
Zweitens nur eine Klarstellung: Ich nehme an, der Grund, warum Sie das Journaling deaktivieren müssen, liegt darin, dass Ubuntu das Lesen und/oder Schreiben auf HFS+-Journaled-Volumes nicht unterstützt?
Oder, warte, was in aller Welt …
diskutil disableJournal
nimmt einen Pfad zu einem Datenträger an, nicht zu einem beliebigen Ordner.
Wenn sich Ihr Home-Ordner also auf dem Stammlaufwerk unter /Users/ befindet, würden Sie Folgendes tun:
diskutil disableJournal /
Oder haben Sie ein Volume mit dem Namen „Benutzer“? In diesem Fall verwenden Sie:
diskutil disableJournal /Volumes/Users
Okay, sowohl rc
als auch die StartupItem
Methode sind seit einiger Zeit veraltet. Beide wurden im Wesentlichen durch ersetzt launchd
, das den Platz von eingenommen hat init
(ich denke jedenfalls, Sie werden bemerken, dass launchd PID 1 ist).
Obwohl ich glaube, dass StartupItems in 10.6 noch unterstützt werden, wird rc offiziell nicht unterstützt, wie man rc
es heißt:
rc.localwird jetzt nicht mehr unterstützt und wurde durch ersetzt
launchd(8)
, das sich selbst über den Unterbefehl bootstrap bootet, um Jobs von den Standardspeicherortenlaunchctl(1)
einzulesen .launchd(8)
Sie können Folgendes für LaunchAgent- und LaunchDaemon-Definitionsdateien überprüfen:
~/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.