В Інтернеті не так багато, що coreduetd
робити на Mac, окрім "він використовується для Handoff між iOS та macOS".
Що це робить?
Він відстежує різні стан вашої системи та програм, включаючи стани на ваших пристроях Apple.
Чи можна його відключити?
Технічно, так, використовуючи launchctl
. Хоча я (настійно) не рекомендую цього робити.
Чи слід його відключити?
Повністю суб'єктивне питання. Тільки ви можете вирішити, чи це правильний курс для вас. Знову рекомендую вам цього не робити.
Які (потенційні) побічні ефекти відключення (залежності)?
Потенційно це може вплинути на таке :
- Перешкода між iOS та macOS впливатиме
- iCloud синхронізація
- Синхронізація пошти з Office 365
Однак, зробивши невелику розмову, мені вдалося знайти проект дослідження iOS щодо безпеки (на http://sans.org ), який вивчав coreduet.db
файл на iOS. Я застосував це мислення до coreduet.db
файлу на macOS. Ось що я знайшов ...
Зробивши копію coreduet.db
файлу, я перевірив його в sqlite3, попередньо отримавши список усіх таблиць
$ sudo cp /var/db/CoreDuet/coreduet.db ~/
$ sudo sqlite3 coreduet.db
sqlite> .tables
ZCDDMAIRPLANEMODEEVENT ZCDDMFORECASTINTEGER ZCDDMSTATISTICINTEGER
ZCDDMAPPNAMEMAPPER ZCDDMFORECASTREAL ZCDDMSTATISTICREAL
ZCDDMAPPSTATECHANGEEVENT ZCDDMFORECASTSCORE ZCDDMSTATISTICSTRING
ZCDDMATTRIBUTENAMEMAPPER ZCDDMFORECASTSTRING ZCDDMSTRINGATTRIBUTE
ZCDDMBACKLIGHTEVENT ZCDDMINTEGERATTRIBUTE ZCDDMTHERMALEVENT
ZCDDMBATTERYEVENT ZCDDMPLUGINEVENT ZCDDMWAKEDNESSEVENT
ZCDDMBOOKKEEPING ZCDDMPOOL Z_METADATA
ZCDDMBOOTORSHUTDOWNEVENT ZCDDMPOOLNAMEMAPPER Z_MODELCACHE
ZCDDMDEVICEEVENT ZCDDMREALATTRIBUTE Z_PRIMARYKEY
ZCDDMDEVICEMAPPER ZCDDMSCREENLOCKEVENT
ZCDDMFORECAST ZCDDMSLEEPORWAKEEVENT
sqlite>
Здається, що існує ряд подій, які він відслідковує. Однак, щоб побачити, що ми могли бачити, я відкрив таблицю Z_PRIMARYKEY:
sqlite> SELECT * FROM Z_PRIMARYKEY;
1|CDDMAirplaneModeEvent|0|81
2|CDDMAppNameMapper|0|218
3|CDDMAppStateChangeEvent|0|185302
4|CDDMAttributeNameMapper|0|101
5|CDDMBacklightEvent|0|0
6|CDDMBatteryEvent|0|0
7|CDDMBookkeeping|0|1
8|CDDMBootOrShutdownEvent|0|0
9|CDDMDeviceEvent|0|0
10|CDDMDeviceMapper|0|0
11|CDDMForecast|0|0
12|CDDMForecastInteger|0|0
13|CDDMForecastReal|0|0
14|CDDMForecastScore|0|0
15|CDDMForecastString|0|0
16|CDDMIntegerAttribute|0|0
17|CDDMPluginEvent|0|0
18|CDDMPool|0|79
19|CDDMPoolNameMapper|0|66
20|CDDMRealAttribute|0|0
21|CDDMScreenLockEvent|0|0
22|CDDMSleepOrWakeEvent|0|17
23|CDDMStatisticInteger|0|0
24|CDDMStatisticReal|0|0
25|CDDMStatisticString|0|0
26|CDDMStringAttribute|0|7293
27|CDDMThermalEvent|0|0
28|CDDMWakednessEvent|0|0
sqlite>
Ця конкретна база даних з'являється для відстеження системних подій. З огляду на те, що я перебуваю на iMac, було б сенс, що у мене немає таких речей, як "BatteryEvent" або "PlugInEvent", але я маю "AppStateChangeEvents". "AirplaneMode" трохи заплутано, оскільки це iMac, але я взагалі не виключаю WiFi, за винятком тестування; в якийсь момент цей стан було додано до бази даних.
Зайшовши трохи далі в CCDMAirplaneModeEvent, ми можемо побачити, що він відстежує не просто коли, а де відбулася подія (хоча моя база даних має 0
дані для цих полів) і ким.
select * FROM ZCDDMAIRPLANEMODEEVENT;
Z_PK Z_ENT Z_OPT ZAIRPLANEMODEON ZANONYMIZEDBEACON ZANONYMIZEDLOCATION ZLOCALDAYSSINCESUNDAY ZLOCALTIME ZLOCALTIMEQUARTERHOURSLOT ZNETWORKQUALITY ZUSERID ZCREATIONDATE
---------- ---------- ---------- --------------- ----------------- ------------------- --------------------- ---------- ------------------------- --------------- ---------- -------------
81 1 1 0 0 0 0 80704 0 0 0 523938304