6 votes

Introduction aux conventions des répertoires du système OSX

J'utilise des macs depuis 8 ans maintenant et j'ai une formation en informatique. Je sais que, lors de l'installation de logiciels, OSX n'est pas aussi méchant que Windows. En d'autres termes, au lieu d'avoir à gérer des librairies dll et d'autres choses qui sont installées quelque part dans le système, les applications sous OSX doivent généralement - par convention - n'utiliser que des dossiers comme "Application Support" et "Preferences" pour leur contenu.

Comme il existe des applications qui ne suivent pas les conventions, j'aimerais savoir quelle structure est encouragée par le système et ce qui ne l'est pas. Ainsi je peux savoir par exemple quels dossiers dans ~/Library/ Je peux supprimer sans sacrifier la stabilité du système.

Par exemple, dans mon dossier user-lib, j'ai des choses comme "MonoAndroid" dont je sais d'où elles viennent (xamarin) et dont je sais si je veux les supprimer, parce que je n'utilise plus l'application qui y est associée.

Je suppose que les répertoires utilisateurs ne posent pas de gros problèmes de suppression, mais il y a toujours une application qui conserve des fichiers dans des répertoires supérieurs (comme xamarin).

De plus, je veux nettoyer le mac d'un ami, et comme je ne l'utilisais pas, j'aimerais avoir une intuition de "ce qui va où" et ce qui ne va pas.

Y a-t-il un guide ou autre chose ? Ou une bonne documentation sur l'emplacement des éléments et les dossiers à ne pas toucher ? J'ai cherché cela, mais je n'ai rien trouvé de bon, vraiment. Jusqu'à présent, j'ai basé mes connaissances sur osx sur des connaissances sur unix et la moitié de mes connaissances sur l'utilisation.

1voto

yoliho Points 340

La connaissance d'Unix sera d'une grande aide tant qu'il ne s'agit pas de suivre exactement les conventions Linux ou autres (Linux est de type Unix alors qu'OSX est un Unix basé sur BSD).

Une description est donnée par Apple dans cette documentation destinée aux développeurs (Le lien ne semble pas être exact mais cherchez la partie OSX et non IOS) Il y a plusieurs sections qui sont trop longues à énumérer ici.

L'un d'eux concerne les répertoires spécifiques à UNIX, mais je suis surpris de voir "/usr-Contains non-essential command-line binaries, libraries, header files, and other data". Ils peuvent être non essentiels, mais la suppression de ce répertoire va casser beaucoup de choses - vous ne devriez modifier les choses que dans /usr/local.

Un autre est Le répertoire de la bibliothèque stocke les fichiers spécifiques à l'application. Les principales sections sont

  • Support d'application - fichiers de données d'application, à l'exception de ceux qui sont associés aux éléments suivants aux documents de l'utilisateur
  • Caches - fichiers de support spécifiques à l'application que votre application peut recréer facilement.
  • Cadres - Cadres qui doivent être partagés par plusieurs applications.
  • Préférences - les fichiers de préférences spécifiques à l'application utilisent la classe NSUserDefaults ou l'API CFPreferences.

Il s'agit d'un guide, car de nombreuses applications (la plupart ?) ne respectent pas ce principe à 100 %.

Mono a, par le passé, placé des éléments au mauvais endroit, par exemple dans /usr/bin. D'autres applications utilisent les préférences, mais pas via l'API. D'autres applications utilisent des répertoires dans ~/Bibliothèque elle-même, par exemple Mail.app.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X