В настоящее время я пишу несколько сценариев обслуживания в однопользовательском режиме. Моя текущая цель - иметь возможность выполнять восстановление разрешений и форматирование диска с помощью команды diskutil в однопользовательском режиме. Выполнение этой задачи в предыдущих версиях OS X было простым вопросом монтирования корневого раздела и запуска следующих демонов запуска:
com.apple.diskmanagementd
com.apple.diskarbitrationd
После этого мне только нужно было выполнить следующую команду для успешного восстановления разрешений:
diskutil repairpermissions /
Однако в Mavericks эта команда больше не работает, и я не могу понять, почему. Выполнение команды diskutil (даже без параметров) возвращает простое и бесполезное сообщение:
Killed: 9
Я не могу понять, что здесь происходит. В дополнение к демонам арбитража диска, которые требуются diskutil, мой скрипт обслуживания также загружает следующие демоны:
com.apple.notifyd
com.apple.syslogd
com.apple.configd
com.apple.kuncd
com.apple.kextd
com.apple.KernelEventAgent
com.apple.distnoted.xpc.daemon
com.apple.aslmanager
com.apple.opendirectoryd
com.apple.coreservicesd
com.apple.securityd
com.apple.fseventsd
com.apple.cfprefsd.xpc.daemon
Я получаю один и тот же ответ, загружаю ли я все вышеперечисленные демоны или только два, которые ранее требовались для работы diskutil. Если я выберу загрузку из однопользовательского режима (загрузив все содержимое / System / Library / LaunchDaemons), я смогу использовать diskutil после того, как компьютер завершит процесс загрузки.
Может ли кто-то, кто более осведомлен о внутренней работе Mac OS, определить, чего не хватает?
repair_packages
с 10.6.