Делать недействительным kextcache после удаления драйвера
Я создал деинсталлятор для моего драйвера, который удаляет соответствующий файл plist из /Library/LaunchDaemons
чтобы он не загружался снова при запуске в следующем цикле загрузки. Тем не менее, это не оказывает никакого влияния на мой драйвер, который все еще загружается нормально после загрузки машины.
Проведя некоторые исследования в этом вопросе, я обнаружил, что kextcache
является причиной такого поведения, и для того, чтобы очистить / аннулировать его, мне нужно touch
папка, в которой находится целевой том установки. однако, это не имело никакого эффекта.
Мой вопрос заключается в том, как правильно сделать недействительным кеш кэша, чтобы launchd не загружал кекст после удаления соответствующего файла plist.
Благодаря приведенному ниже ответу, я лишил законной силы kext кеш. Однако я хотел бы иметь эквивалент для доступа к существующей папке в target-c, на котором основан мой помощник по удалению.
Чтобы быть точным, вот код, который я хотел бы преобразовать в target-C:
sudo touch /System/Library/Extensions; sudo touch /Library/Extensions
1 ответ
Правильный способ аннулировать кэши Kext:
sudo touch /System/Library/Extensions
или в версиях ОС, которые поддерживают загрузку расширений из /Library:
sudo touch /Library/Extensions
Как только вы это сделаете, кэши кэста автоматически восстанавливаются.