Est-il sûr de supprimer ces 4 fichiers dans le dossier appelé dyld ( /System/Library/dyld/
) ?
Réponse courte
Non, à Big Sur i Ce n'est pas sûr de les supprimer (d'après la capture d'écran de votre question, je vois que vous êtes à Big Sur).
Réponse longue
Dans les versions précédentes de MacOS (au moins dans MacOS 10.15 Catalina, d'après mon expérience personnelle), ces fichiers étaient situés dans /var/db/dyld/
et pourrait être recréé avec cette commande (voir par exemple J'essaie de forcer update_dyld_shared_cache mais j'ai des erreurs. ) :
sudo update_dyld_shared_cache -root / -force
mais update_dyld_shared_cache
est déprécié dans Big Sur (l'exécution de la commande a comme seule sortie This tool is deprecated.
).
En outre, les fichiers dans /System/Library/dyld/
ne semblent plus être des fichiers cache dans le sens où ils stockent les bibliothèques partagées couramment utilisées (de man update_dyld_shared_cache
) :
Lors du chargement [d'un fichier exécutable], dyld vérifie d'abord s'il est dans le cache de partage, et si c'est le cas, il utilise cette version pré-liée au lieu d'ouvrir, de mapper et de lier le fichier original. Il en résulte une amélioration significative des performances au moment du lancement.
Au lieu de cela, à Big Sur, les fichiers de cache contiennent la plupart des bibliothèques de MacOS .
Laissez-moi m'étendre sur ce point : le contenu de /var/db/dyld/
(Catalina et versions antérieures de MacOS) et /System/Library/dyld/
(Big Sur) sont essentiellement les mêmes. Ils stockent tous deux des paires de fichiers : un fichier de carte de texte (avec un .map
) et une cache binaire partagé (sans extension), par exemple :
dyld_shared_cache_x86_64h.map
dyld_shared_cache_x86_64h
Le fichier de carte de texte contient des informations sur le fichier de cache partagé, et ressemble à ceci :
mapping EX 1331MB 0x7FFF20000000 -> 0x7FFF73398000
mapping RW 224MB 0x7FFF80000000 -> 0x7FFF8E0C6000
mapping RO 432MB 0x7FFFC0000000 -> 0x7FFFDB0E0000
/Library/Apple/System/Library/Accounts/Notification/CloudBookmarksAccountsNotifier.bundle/Contents/MacOS/CloudBookmarksAccountsNotifier
__TEXT 0x7FFF20040000 -> 0x7FFF20042000
__DATA 0x7FFF81B6B108 -> 0x7FFF81B6B8F0
__LINKEDIT 0x7FFFC05C0000 -> 0x7FFFD8A4A538
/System/Library/AccessibilityBundles/AXSpeechImplementation.bundle/Versions/A/AXSpeechImplementation
__TEXT 0x7FFF20042000 -> 0x7FFF20048000
__DATA 0x7FFF81B6B8F0 -> 0x7FFF81B6CF70
__LINKEDIT 0x7FFFC05C0000 -> 0x7FFFD8A4A538
/System/Library/Accounts/Access/CloudKitAccessPlugin.bundle/Contents/MacOS/CloudKitAccessPlugin
__TEXT 0x7FFF20048000 -> 0x7FFF2004C000
__DATA 0x7FFF81B6CF70 -> 0x7FFF81B6D840
__LINKEDIT 0x7FFFC05C0000 -> 0x7FFFD8A4A538
(...)
Le format du fichier de la carte (qui est inchangé dans Big Sur) est assez simple :
- Il contient un en-tête de 3 lignes
- Il contient plusieurs centaines d'entrées, une pour chaque fichier inclus dans le fichier de cache partagé, qui spécifient où les sections pertinentes de la bibliothèque partagée spécifiée peuvent être trouvées dans le fichier de cache partagé.
Avant Big Sur, todo Les bibliothèques partagées listées dans le fichier de carte (c'est 1809 dans Catalina) étaient également situées dans le système de fichiers.
À Big Sur, la plupart ne le sont pas. En fait, dans Big Sur 11.2.3, seulement 12 des 1956 bibliothèques répertoriées peuvent être trouvées dans le système de fichiers. :
(for file in $(grep / /System/Library/dyld/dyld_shared_cache_x86_64.map); do ls $file; done) 2>&1 | grep "No such file or directory" | wc -l
1944
grep / /System/Library/dyld/dyld_shared_cache_x86_64.map | wc -l
1956
C'est très probablement la raison pour laquelle les fichiers de cache ont été déplacés de /var/db/dyld
à un SIP -Le dossier protégé, à savoir /System
pour bien faire comprendre qu'il ne faut pas s'amuser avec eux.
Si vous supprimez les fichiers de cache partagés dans /System/Library/dyld/
j'ai peur que votre système ne puisse pas démarrer ou fonctionner.
Autres lectures
Comment réparer un dyld extrait de dyld_shared_cache_x86_64 ? Stack Exchange/Reverse Engineering question sur l'extraction des fichiers dylib du cache partagé (mentionne un utilitaire nommé dyld_shared_cache_util
de ce projet open source : dyld-shared-cache-big-sur )
https://www.exploit-database.net/?id=102279 Informations sur un exploit permettant d'obtenir une escalade des privilèges via update_dyld_shared_cache
sur MacOS 10.14 Mojave.
https://blog.lse.epita.fr/2017/03/14/playing-with-mach-os-and-dyld.html#the-shared-cache Aperçu du format de cache partagé sur OS X 10.10 Yosemite
https://www.theiphonewiki.com/wiki/Dyld_shared_cache Différences de cache partagées entre iOS et MacOS avant Big Sur
4 votes
Il manque à cette image les informations essentielles : quel dossier regardez-vous ici, où sont stockés ces dylds ? En outre, s'ils se trouvent dans
/System
ils font partie de MacOS et ne peuvent pas être supprimés.0 votes
Oui, il est dans le système mais si je ne peux pas le supprimer, y a-t-il une raison particulière pour laquelle il a soudainement gonflé en taille ?
0 votes
Sur mon Mac exécutant Big Sur, les fichiers sont situés dans
/System/Library/dyld/
,dyld_shared_cache_arm64e
,dyld_shared_cache_x86_64
ydyld_shared_cache_x86_64h
sont d'une taille de ~2 Go chacun, donc je comprends que vous souhaitiez vous en débarrasser, mais, comme l'a souligné @nohillside, ils font partie de MacOS et ne peuvent pas (et surtout, ne devrait pas ) soient supprimés.0 votes
Quelle est la taille des fichiers sur votre système ?
0 votes
@jaume quelque part autour de 2.0-3.0 GB mais ils n'étaient pas aussi gros il y a quelques mois
0 votes
Votre question il y a quelque temps avait de meilleures informations pour faire un jugement rapide. À court terme, j'installerais les nouvelles applications sur un stockage externe où elles peuvent s'exécuter facilement, et je m'assurerais que les grandes zones grises ne sont pas dues à des instantanés locaux en laissant fonctionner Time Machine plusieurs fois par jour.