Мы используем Radmind для управления нашим Mac OS X loadsets и, как таковые, часто сталкиваемые трудность, когда новые версии ОС выходят из-за, среди прочего, обновленные расширения ядра. Рабочий процесс в прошлом (изменения ОС <= 10.4) должен был удалить кэш расширения ядра, обновить расширения и затем перезагрузку. Это работало просто великолепно, поскольку система воссоздаст недостающие кэши на начальной загрузке. В Leopard необходимо удалить кэши после замены расширений ядра с их новыми версиями, поскольку система автоматически начнет создавать их при замене их; единственный способ гарантировать, чтобы Вам не кэшировали недопустимые расширения, состоит в том, чтобы удалить кэш перед перезагрузкой.
Я ищу способ препятствовать тому, чтобы кэш расширений ядра был воссоздан до следующей перезагрузки. Если Вы изменяете содержание /System/Library/Extensions/
, kextcache
запустит автоматически. Я просмотрел /System/Library/LaunchDaemons/
и другие места, но я не могу найти то, что это, это запускается kextcache
. Какие-либо идеи?
Ну, после копания в части открытого исходного кода Apple я решил эту проблему (по крайней мере, для Snow Leopard). Путем выдачи следующей команды:
launchctl unload /System/Library/LaunchDaemons/com.apple.kextd.plist
Можно обновить расширения ядра, удалить их файл (файлы) кэша и перезагрузку; дополнительные кэши будут воссозданы во время начальной загрузки. Я все еще должен протестировать это на Leopard, но на Snow Leopard он работает просто великолепно.