De la place sur son Mac !

Ce n’est un secret pour personne : il est difficile en 2019 de garder de l’espace de stockage sur son ordinateur. Voici ma routine habituelle pour faire de la place sur mon Mac.

Logiciels obsolètes

On va commencer avec l’évidence : la plupart de l’espace disque utilisé l’est pour stocker des logiciels. Comme j’installe la plupart de ceux-ci avec Homebrew – ou Homebrew Cask – il est assez simple de lister ces derniers.

# Liste les logiciels installés avec Homebrew Cask
alias caskl="brew cask list"

# Liste les paquets installés avec Homebrew
alias brewl="brew list"

# Liste les paquets 'leaves' -- ceux dont ne dépendent aucun
# autre paquet -- avec leur description
alias brewll="\
  brew leaves \
  | xargs brew info --json \
  | jq -r 'map(\"\(.name)%\(.desc)\")|.[]' \
  | column -t -s '%'\
"

Il vous suffit ensuite de désinstaller ceux que vous jugez inutiles avec brew rm <paquet> et brew cask zap <logiciel>.

Utiliser brew cask zap au lieu de brew cask rm permet de supprimer les préférences, caches, etc. en plus de l’application !

Vieux projets

Avez-vous réellement besoin de vos vieux projets sur votre Mac ? Si ces derniers sont versionnés via Git ou Mercurial, vous n’avez presque aucune raison de les avoir sur disque. Faites un tour dans votre dossier de projets, et supprimez ceux sur lesquels vous ne travaillez pas actuellement !

Dépendances de projets

Lorsque l’on utilise Node.js, on a tendance à accumuler les dossiers node_modules et ceux-ci peuvent rapidement encombrer notre disque. J’ai la solution !

# Liste les node_modules avec l'espace disque utilisé
alias listm="du -sh ~/Projects/**/node_modules"

# Supprime les node_modules dans tous les dossiers
alias cleanm="rm -rf ~/Projects/**/node_modules"

Pensez bien évidemment à changer ces commandes si vos projets ne sont pas dans ~/Projects

Si vous avez également des projets PHP, vous pouvez faire la même chose en cherchant les dossiers vendors plutôt que node_modules.

Caches

Votre Mac stocke divers caches dans divers endroits, mais celui qui va le plus vous intéresser est ~/Library/Caches. Vous trouverez dedans plusieurs giga-octets à supprimer.

Le cache système se trouve dans /System/Library/Caches et /Library/Caches mais je vous déconseille d’y toucher…

# Liste les différents caches avec l'espace disque utilisé
alias listc="du -sh ~/Library/Caches/*"

# Liste les caches du système, toujours avec l'espace disque
alias listsc="du -sh /System/Library/Caches/* /Library/Caches/*"

Cache Homebrew et Homebrew Cask

Ces deux logiciels gardent sur disque les anciennes versions des logiciels installés, au cas où vous avez besoin de faire un retour sur une ancienne version. Ça n’est pas le cas ? Faites de la place !

# Supprime les anciennes versions des paquets installés
alias brewc="brew cleanup"

# Vide le cache de Homebrew
alias brewcc="rm -rf $(brew --cache)"

Conteneurs Docker, machines virtuelles

Il est facile de se laisser emporter avec Docker et l’on finit rapidement par utiliser 16 Go par-ci, 20 Go par-là… Et de même avec les machines virtuelles en général. Avez-vous vraiment besoin de tous ces conteneurs à cet instant précis ? En théorie, vous devriez pouvoir détruire un conteneur et le reconstruire en quelques minutes maximum.

# Liste tous les conteneurs Docker
alias dockerl="docker ps -a"

# Liste tous les conteneurs Docker inactifs
alias dockerex="docker ps -a -f status=exited"

# Supprime tous les conteneurs Docker inactifs
alias dockerx="docker ps -aq --no-trunc -f status=exited | xargs docker rm"

# Liste toutes les images Docker 'finales'
alias dockerld="docker images --filter dangling=true"

# Supprime toutes les images Docker 'finales'
alias dockerxd="docker images -q --filter dangling=true | xargs docker rmi"

Trucs et astuces

Pour finir, voici quelques astuces afin d’optimiser votre espace disque.

Taille du cache Spotify

Par défaut, Spotify réserve 10 Go d’espace disque pour son cache. Vous pouvez réduire celui-ci en ajoutant (ou modifiant) la propriété storage.size dans ~/Library/Application Support/Spotify/prefs – ici limitée à 256 Mo :

storage.size=256

Taille du cache navigateur

Je vous invite fortement à aller modifier la taille du cache de votre navigateur dans les préférences de celui-ci.

GrandPerspective

GrandPerspective est un logiciel gratuit qui scanne votre disque et vous présente les résultats sous la forme de zones plus ou moins grande en fonction de l’espace utilisé pour chaque fichier. Il est gratuit si vous le téléchargez directement sur le site de l’auteur ou via Hombrew Cask: brew cask install grandperspective.

OmniDiskSweeper et ncdu

OmniDiskSweeper est similaire à GrandPerspective mais vous affiche un résultat sous forme d’arbre. Il est également gratuit et vous pouvez l’installer soit depuis le site de l’auteur, soit avec brew cask install omnidisksweeper. ncdu est un équivalent utilisable dans le terminal (brew install ncdu).