Как отключить журналирование при завершении работы и включить его при загрузке в 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

Ладно, оба rcи StartupItemметод были устаревшими некоторое время назад. Оба были в основном заменены на launchd, который занял место init(я думаю, вы заметите, что launchd имеет PID 1).

Хотя я думаю, что StartupItems все еще поддерживаются в версии 10.6, rc официально не поддерживается, как man rcуказано:

rc.местныйтеперь не поддерживается и заменен на launchd(8), который загружается с помощью launchctl(1)подкоманды bootstrap для считывания 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.

Связанный контент