Отключение kextcache на 10.5.8 и 10.6.3

5179
Jeff Kelley

Мы используем Radmind для управления загрузочными наборами Mac OS X и, как таковые, часто сталкиваемся с трудностями, когда выходят новые версии ОС из-за, среди прочего, обновленных расширений ядра. В прошлом рабочий процесс (ревизии ОС <= 10.4) заключался в удалении кэша расширений ядра, обновлении расширений и перезагрузке. Это работало просто отлично, так как система воссоздала недостающие кэши при загрузке. В Leopard вам необходимо удалить кэши после замены расширений ядра их новыми версиями, так как система автоматически начнет создавать их при замене; единственный способ убедиться, что у вас нет кэшированных недопустимых расширений, это удалить кеш перед перезагрузкой.

Я ищу способ предотвратить повторное создание кэша расширений ядра до следующей перезагрузки. Если вы измените содержимое /System/Library/Extensions/, kextcacheзапустится автоматически. Я просмотрел /System/Library/LaunchDaemons/и другие места, но я не могу найти то, что начинается kextcache. Есть идеи?

3
@ Джефф, ты пытаешься запустить серверы здесь? если это так, это может быть лучше подходит для [Ошибка сервера] (http://serverfault.com/). (пожалуйста, не кросспостите; вопрос может быть перенесен в случае необходимости.) quack quixote 14 лет назад 1
Нет, это относится к клиентской ОС. Jeff Kelley 14 лет назад 1

1 ответ на вопрос

3
Jeff Kelley

Что ж, после изучения части открытого исходного кода Apple, я решил эту проблему (по крайней мере, для Snow Leopard). Выполнив следующую команду:

launchctl unload /System/Library/LaunchDaemons/com.apple.kextd.plist 

Вы можете обновить расширения ядра, удалить их файлы кэша и перезагрузиться; кэши расширения будут воссозданы во время загрузки. Мне все еще нужно проверить это на Leopard, но для Snow Leopard это работает просто отлично.