Diverses façons de libérer de l'espace sous macOS

Joachim Joachim

Il y a quelques jours j’ai eu besoin d’installer Windows, via BootCamp. Étant donné que mon vieux MacBook Pro n'a pas énormément d’espace sur son SSD, il a fallu que je libère de l’espace.

GrandPerspective

Le meilleur moyen de percevoir visuellement le contenu d’un disque, c'est via GrandPerspective. Chaque fichier, chaque app est présentée, c'est parfait pour remarquer que le dossier iTunes est démesurément gros à cause des podcasts par exemple.

Parfois il faut l’exécuter en mode SuperUtilisateur, pour que le programme ait accès à tous les dossiers et fichiers système, les caches, etc. Pour ça, il faut exécuter cette commande dans le terminal : sudo /bin/launchctl asuser 0 /Applications/GrandPerspective.app/Contents/MacOS/GrandPerspective

Les dossiers système

Certains fichiers et dossier système peuvent être supprimés, c'est le cas du contenu du dossier de cache. Pour les supprimer de manière sécurisée, il faut redémarrer en mode Single User (Command S au boot), puis monter le système de fichier en mode lecture/écriture avec la commande /sbin/mount -uw /

Les trois commandes sont à taper ensuite :

rm -rf /Library/Caches/*
rm -rf /System/Library/Caches/*
rm -rf /Users/<username>/Library/Caches/*

Je ne recommande l’usage de la commande rm -rf seulement aux utilisateurs qui savent ce qu'ils font, et qu'en tapant mal les commandes ils risquent de supprimer tout le contenu de leur disque dur.

Les espaces invisibles

Parfois on voit une différence frappante entre ce qu'annonce l’assistant de stockage (menu Pomme > À propos de ce Mac… > onglet Stockage) et l’application Utilitaire de disque, comme ici :

Différence entre l’assistant de stockage et l’utilitaire de disque

Pour voir qui a raison, on peut utiliser la commande df :

joachim$ df -h  
Filesystem           Size   Used  Avail Capacity iused               ifree %iused Mounted on 
/dev/disk1s1        234Gi  195Gi   36Gi    85% 1947635 9223372036852828172    0%   /
/dev/disk1s4        234Gi  2.0Gi   36Gi     6%       2 9223372036854775805    0%   /private/var/vm

On voit bien que le disque est rempli à 85% de sa capacité. Le point de montage /private/var/vm est utilisé notamment pour la sleepimage, une sauvegarde de l’état de la mémoire vive, pour permettre à l’ordinateur d’être beaucoup plus réactif à la sortie de veille. Depuis deux ou trois ans je crois que ce système utilise beaucoup moins de place qu'avant maintenant qu'il est sur une autre partition.

À ce moment là, dans GrandPerspective il faut déplier le Drawer et cliquer l’onglet Display pour cocher l’option Show entire volume. Là on peut voir l’espace réellement libre en noir, et un espace désigné sous le nom de Miscellaneous used space en gris.

Très souvent il s'agit de l’espace pris par Time Machine pour ses snapshots. Même après une sauvegarde sur disque externe, Time Machine garde ces images du disque dur pour avoir accès à l’historique des fichiers quand le disque dur de sauvegarde n'est plus connecté, afin que l’utilisateur puisse accéder aux précédents états de ses documents et dossiers. Évidemment, ça prend de la place, parfois beaucoup de place.

La commande pour gérer ça, c'est tmutil, il n'y a pas besoin des droits d’admin pour l’utiliser. Exécutez la commande seule pour avoir la liste des arguents disponibles et leur signification.

Pour supprimer les snapshots de Time Machine, on va commencer par lister ceux qui sont présents sur mon disque dur local /Volumes/HD :

joachim$ tmutil listlocalsnapshots /Volumes/HD
com.apple.TimeMachine.2018-04-12-165953
com.apple.TimeMachine.2018-04-12-175753
com.apple.TimeMachine.2018-04-12-190105
com.apple.TimeMachine.2018-04-12-200847
com.apple.TimeMachine.2018-04-12-203323

J’ai dont 5 snapshots, qui me prennent plus de 60 Go d’espace libre. Grrrrr.

Pour chaque snapshot je dois donc faire :

joachim$ tmutil deletelocalsnapshots 2018-04-12-165953
Deleted local snapshot '2018-04-12-165953'

Suite à ces suppressions, je redémarre et je supprime encore le snapshot qui s'est créé, et voilà le résultat :

joachim$ df -h  
Filesystem           Size   Used  Avail Capacity  iused               ifree %iused Mounted on 
/dev/disk1s1        234Gi  124Gi  106Gi    54%  1743366 9223372036853032441    0%   /
/dev/disk1s4        234Gi  2.0Gi  106Gi     2%        2 9223372036854775805    0%   /private/var/vm

De 85% d’espace utilisé sur le disque, on est passé à 54%. Ce qui m'a permis d’installer BootCamp sans problème.

Et, d’après ce qu'on me dit, la commande tmutil disablelocal permet de ne plus avoir de snapshots stockés sur le disque dur local… ce qui permet d’éviter le genre de déconvenues que j’ai rencontré. Plus d’infos sur le blog de Guillaume Gète : http://blog.gete.net/2011/08/27/tmutil-la-commande-cachee-pour-time-machine/