2 votes

Pourquoi une mise à niveau du système prend-elle autant de temps s'il y a des fichiers dans '/usr/local'?

Ma récente mise à niveau vers Yosemite (depuis Mavericks) a pris environ 6 heures, presque tout ce temps a été utilisé pour traiter le contenu de /usr/local (par exemple, TeX, etc.).

Que fait le processus de mise à niveau avec ces fichiers qui prend autant de temps? Pourrais-je accélérer les mises à jour futures en sauvegardant simplement ces fichiers, en vidant le répertoire, et en les copiant manuellement après la mise à jour, ou le processus de mise à jour fait-il quelque chose de critique avec eux?

2voto

shsteimer Points 8749

Le problème est uniquement aigu si vous avez beaucoup de fichiers dans /usr/local -- quelques centaines de fichiers ne posent pas de problème. Il faut avoir des milliers de fichiers. La raison, selon cet article, est la suivante:

Une partie de la mise à jour implique de déplacer /usr/local. Le processus de déplacement de ces fichiers après la mise à jour se fait un par un et semble très lent.

Il recommende ensuite de supprimer tout ce qui n'est pas nécessaire dans vos installations Homebrew avec la paire de commandes brew remove; brew cleanup. Vous pouvez également les déplacer temporairement, en les nommant par exemple /usr/local.mine, puis les remettre en place après la mise à jour -- bien que cela puisse rendre légèrement problématique l'utilisation de votre Mac si vous avez, par exemple, changé votre shell par défaut pour votre compte pour être le zsh fourni par Homebrew.

Personnellement, j'ai choisi de nettoyer mes installations Homebrew. J'ai également complètement supprimé les démons installés par Homebrew (MySQL, PostgreSQL et Redis) et les ai arrêtés. Ils sont assez faciles à réinstaller une fois l'installation terminée. Au final, il ne me restait qu'une poignée de packages Homebrew essentiels pour moi et le temps d'installation n'était pas trop long -- environ 2 heures sur un vieux iMac.

Bien sûr, vous pouvez également tout effacer et recommencer. Commencez par sauvegarder tout ce que vous avez installé:

brew list | sed s/\s+/\\n/g | tee my-brew-packages.txt

Et maintenant, supprimez-les tous avec:

cat ~/my-brew-packages.txt | xargs brew remove --force
brew cleanup --force

Et pour réinstaller les choses après la mise à jour:

cat ~/my-brew-packages.txt | xargs brew install

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